概述
(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;
最后
以上就是美满音响为你收集整理的Oracle中显式游标cursor的创建和使用的全部内容,希望文章能够帮你解决Oracle中显式游标cursor的创建和使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复