游标和异常处理.docx
《游标和异常处理.docx》由会员分享,可在线阅读,更多相关《游标和异常处理.docx(15页珍藏版)》请在第一文库网上搜索。
1、游标是数据处理的一种重要方法。游标分为显式游标和隐式游标。隐式游标由某些SQ1隐含定义和使用,显式游标则由用户自己定义。游标是SQ1的一个内存工作区,由系统或用户以变量的形式定义。游标的作用就是用于临时存储从数据库中提取的数据块。游标一旦打开,数据就从数据库中传递到游标变量中,然后应用程序再从游标变量中分解出需要的数据,并进行处理。隐式游标隐式游标属性隐式游标属性值返回值类型意义SQ1%ROWCOUNT整型代表DM1语句成功执行的行数SQ1%FOUND布尔型值为TRUE代表插入、删除、更新或单行查询操作成功SQ1%NOTFOUND布尔型与SQ1%FOND属性返回值相反SQ1%ISOPEN布尔值
2、DM1执行过程中为真,结束后为假1、使用隐式游标判断对雇员工资的修改是否成功SQ1setserveroutputonSQ1beginupdateempsetsa1=1200whereempno=1001;ifsq1%foundthendbms_output.put_1ine(Theupdateissuccessfu1.,);commit;e1sedbms_output.put_1ine(,Theupdateisunsuccessfu1!,);endif;end;/Theupdateissuccessfu1.P1/SQ1proceduresuccessfu11ycomp1eted.2、隐式游标循
3、环SQ1setserveroutputonSQ1dec1arecursorcs_empisse1ectempnojenamejjobfromemp;beginforrc_empincs_emp1oopdbms_output.put_1ine(rc_emp.empno|rc_emp.ename,rc_emp.job);end1oop;end;/1001,OraC1e,1002,OraC1e,1003,orac1e,1004,orac1e,1005,OraCIe,7369,SM工TH,C1ERK7499,A11EN,SA1ESMAN7521,WARD,SA1ESMAN7566,JONES,MANA
4、GER7654jMARTIN,SA1ESMAN7698,B1AKE,MANAGER7782,C1ARK,MANAGER7788,SCOTT,ANA1YST7839,KING,PRESIDENT7844,TURNER,SA1ESMAN7876,ADAMS,C1ERK7900,JAMES,C1ERK7902,FORD,ANA1YST7934,M工11ER,C1ERKP1/SQ1proceduresuccessfu11ycomp1eted.显示游标显示游标由用户自己定义和操作游标,通常所说的游标都是指显示游标。游标的使用分成以下4个步骤:1、声明游标在DEC1ARE部分按以下格式声明游标:CURSO
5、R游标名(参数1数据类型,参数2数据类型.)ISSE1ECT语句;参数是可选部分所定义的参数可以出现在SE1EcT语句的WHERE子句中。如果定义了参数,则必须在打开游标时传递相应的实际参数。2、打开游标在可执行部分,按以下格式打开游标:OPEN游标名(实际参数实际参数2);打开游标时,SE1ECT语句的查询结果就被传送到了游标工作区。3、提取数据在可执行部分,按以下格式将游标工作区中的数据提取到变量中。提取操作必须在打开游标之后进行。FETCH游标名INTO变量名变量名2;或FETCH游标名INTO记录变量;游标打开后有一个指针指向数据区,FETCH语句一次返回指针所指的一样数据,要返回多行
6、需重复执行,可以使用循环语句来实现。控制循环可以通过判断游标的属性来进行。对以上两种格式进行说明:第一种格式中的变量是用来从游标中接收数据的变量,需要事先定义。变量的个数与类型应与SE1ECT语句中的字段变量的个数与类型一致。第二种格式一次将一行数据取到记录变量中,需使用%ROWTYPE事先定义记录变量,这种形式使用起来比较方便,不必分别定义和使用多个变量。(定义记录变量方法:变量名表名I游标名ROWTYPE)4、关闭游标C1OSE游标名;显示游标打开后,必须显示地关闭。游标一旦关闭,游标占用的资源就被释放,游标变成无效,必须重新打开才能使用。显式游标属性显示游标属性值返回值类型意义%ROWC
7、OUNT整型获得FETCH语句返回的行数%FOUND布尔型最近的FETCH语句返回一行数据则为真,否则为假%NOTFOUND布尔型与FOUND属性返回值相反%ISOPEN布尔值游标已经打开时值为真,否则为假游标%isopen判断游标是否打开,如果打开了,则返回值为真,否则为假游标%notfoUnd判断fetch语句是否成功执行,当fetch语句失败时,说明数据已经提取完,退出循环。显示游标使用示例1、三种方法显示工资最高前三名编号、姓名、部门名称、工资方法一:SQ1setserveroutputonSQ17499,A11EN,SA1ES,16007521,WARD,SA1ES,12507369
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 游标 异常 处理