理解游标(2)游标的属性介绍及不同游标类别的案例演示

理解游标(2)游标的属性介绍及不同游标类别的案例演示

ID:14376404

大小:44.00 KB

页数:6页

时间:2018-07-28

理解游标(2)游标的属性介绍及不同游标类别的案例演示_第1页
理解游标(2)游标的属性介绍及不同游标类别的案例演示_第2页
理解游标(2)游标的属性介绍及不同游标类别的案例演示_第3页
理解游标(2)游标的属性介绍及不同游标类别的案例演示_第4页
理解游标(2)游标的属性介绍及不同游标类别的案例演示_第5页
资源描述:

《理解游标(2)游标的属性介绍及不同游标类别的案例演示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、理解游标(2)游标的属性介绍及不同游标类别的案例演示 相关链接:理解游标(1):游标的概述  PL/SQL提供了六种游标属性:游标属性名字说明举例%FOUND如果成功取到记录就返回true;否则,返回falsebegin updatetsetname='f'whereid=2;ifSQL%FOUNDthen  dbms_output.put_line('cursorattribute'www.lunwen360.net);endif;end;%NOTFOUND如果没有成功取到记录就返回true;否则,返回fa

2、lse%FOUND和%NOTFOUND是相反属性,到底什么时候使用%FOUND什么时候又该用%NOTFOUND呢?要看使用哪一个属性表达得最自然,比如: www.2cto.com  exitwhennotsql%foundexitwhensql%notfound显然,后者更自然%ROWCOUNT返回到目前为止,已经从游标中取出的记录数量begin updatetsetname='f'whereid=2; dbms_output.put_line('rowsselected:'

3、

4、sql%rowcount);e

5、nd;rowsselected:1%ISOPEN如果游标是打开的就返回true;否则,返回false通常用在确保当发生异常情况后游标不会一直打开着而不关闭exception whenothersthen ifcursor_name%ISOPENthen  closecursor_name; endif;%BULK_ROWCOUNT返回forall语句修改的记录数量%BULK_EXCEPTIONS返回forall语句修改记录时出现的异常信息     我们可以在pl/sql中使用这些游标属性,但不能再sql语句中

6、使用    要使用一个游标属性,只需要在游标名字或游标变量后面加上%就可以,比如:cursor_name%attribute_name    对于一个隐式游标,游标的名字固定就是“SQL”,比如SQL%FOUND     下面以t表为例,对各种游标类别作简单使用介绍[sql] SQL>rollback;   Rollbackcomplete   SQL>select*fromt;       IDNAME ------------------------------      1a      2b      

7、3c      4d      5e      ①隐式游标实例:[sql] begin  --执行DML操作  updatetsetname='ff'whereid=5;  --判断是否有受影响行  ifsql%foundthen   --打印受影响行数   dbms_output.put_line('影响行数:'

8、

9、sql%rowcount);  endif;  --判断是否没有受影响行  ifsql%notfoundthen   dbms_output.put_line('id为5的记录不存在');  e

10、ndif;  end;      ②无参显式游标实例:[sql] declare  --声明游标表变量并关联sql  cursorrowListis   select*fromt;  --声明行变量  --如果上面的查询语句只有一个查询字段,这里也可以使用正常的变量声明方式(v_rowValuevarchar2(20);)。  rowValuet%rowtype; begin  openrowList;--打开游标  --如果确定游标中只有一条记录的话,loop和endloop可以不写,而exit必须存在于游

11、标循环内,所以也不需要写。  loop   fetchrowList    intorowValue;--取出游标内的值放到rowValue中   exitwhenrowList%notfound;--判断是否还存在记录,如果不存在终止游标   dbms_output.put_line(rowValue.name);--将取到的值打印,如果查询只有一个字段这里只需写变量名即可。  endloop;  closerowList;--关闭游标 end;      ③有参显式游标实例:[sql] declare  

12、--声明带参数的游标变量并关联sql,并将参数与sql进行关联  cursorrowList(c_namevarchar2,c_idnumber)is   select*fromtwheret.name=c_nameandt.id=c_id;  --声明行变量  --如果上面的查询语句只有一个查询字段,这里也可以使用正常的变量声明方式(v_rowValuevarchar2(20);)。  rowVa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。