Oracle游标的定义格式说明

WBOY
发布: 2016-06-07 17:05:23
原创
1032 人浏览过

游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用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;

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

linux

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!