视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle游标的定义格式说明
2020-11-09 11:55:09 责编:小采
文档


游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetc

游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作,然后将操作结果写回数据表中。如下例子注释与说明:

set serveroutput on
declare
sh_no tssa.entry_sheet_td.sheet_no%type;

--该程序定义sh_no为与tssa.entry_sheet_td数据表中的sheet_no字段类型相同的变量
v_flow_inst tssa.entry_sheet_td.PROCESSINSTID%type;
cursor mycursor is
select sheet_no from entry_sheet_td a ,wfprocessinst b where a.processinstid=b.processinstid and b.currentstate='7';
cursorrecord mycursor%rowtype;

--mycursor为从entry_sheet_td数据表中提取的接入型障碍中流程结束而未归档工单数据构成的游标,cursorrecord mycursor%rowtype定义记录变量
begin
sh_no:='';
open mycursor;

--打开游标,打开游标的过程有以下两个步骤:1、将符合条件的记录送入内存,2、将指针指向第一条记录。
loop
fetch mycursor into cursorrecord;

--要提取游标中的数据,,使用fetch命令,语法形式如:fetch 游标名 into 变量名1, 变量名2,……;
exit when mycursor%notfound;

--当当前循环的记录值为空时,即循环结束后,退出循环
sh_no:=cursorrecord.sheet_no;
dbms_output.put_line(sh_no);

--输出当前满足条件的工单号,此处可以进行一些逻辑处理

end loop;
close mycursor;

--关闭游标
end;

上面只是对游标写法的一个简要说明。

下载本文
显示全文
专题