(1) 对于从数据库中提取多行数据,就需要使用显式Cursor。显式Cursor的属性包含:
游标的属性 返回值类型 意 义
%ROWCOUNT 整型 获得FETCH语句返回的数据行数
%FOUND 布尔型 最近的FETCH语句返回一行数据则为真,否则为假
%NOTFOUND 布尔型 与%FOUND属性返回值相反
%ISOPEN 布尔型 游标已经打开时值为真,否则为假
(2) 对于显式游标的运用分为四个步骤:
定义游标—Cursor [Cursor Name] IS;
打开游标—Open [Cursor Name];
操作数据—Fetch [Cursor name]
关闭游标—Close [Cursor Name],这个Step绝对不可以遗漏。
SQL语句示例
Set serveroutput on;
–定义游标
declare cursor mycursor is
select sourcelogid from edi_task ps where processflag=‘0’ order by sourcelogid;
begin
open mycursor;
fetch mycursor into v_logid;–v_logid为已声明的变量
while mycursor % FOUND loop
–对于获取的游标操作的逻辑
begin
UPDATE PLUGIN.EDI_CUSTOM A SET SYMBOL = 6 WHERE LOGID = V_LOGID AND SYMBOL = 9 ;
commit;
end
fetch mycursor into v_logid;
end loop;
commit;
close mycursor;
exception
when OTHERS then
ROLLBACK;
v_sqlerr:=sqlerrm;
DBMS_OUTPUT.PUT_LINE(v_sqlerr);
commit;
return;
end;
end;
本文详细介绍了在数据库操作中如何使用显式游标进行数据提取和处理。主要内容包括游标的定义、打开、操作及关闭步骤,并通过一个SQL示例展示了游标在循环读取和更新数据过程中的具体运用。
1239

被折叠的 条评论
为什么被折叠?



