Oracle SQL的cursor理解
隐式游标中大写的"SQL"标识,如SQL%ROWCOUNT表示隐式游标有几行记录;显式游标由开发者自定义,也可以使用如C1%ROWCOUNT表示游标C1有几行记录。通常显式游标都是使用OPEN方式打开的。
使用显式定义的游标使用OPEN方式打开,它的使用方法如下例所示:
- set serveroutput on
- declare
- cursor c1 is
- select rownum ,table_name from user_tables where rownum < 10 ;
- v_rownum number ;
- v_tablename varchar2 ( 256 );
- begin
- open c1;
- dbms_output.put_line( ' 游标当前行数 1:' || c1% rowcount );
- loop
- fetch c1 into v_rownum,v_tablename;
- exit when c1% notfound ;
- dbms_output.put_line( ' 游标当前行 :' || c1% rowcount || ' table_name:' ||v_tablename);
- end loop ;
- dbms_output.put_line( ' 游标当前行数 2:' || c1% rowcount );
- close c1;
- end ;
在SQLPUS中执行,得到如下结果。
- 游标当前行数 1:0
- 游标当前行 :1 table_name:T_SS
- 游标当前行 :2 table_name:T_TARGET
- 游标当前行 :3 table_name:T_SS_NORMAL
- 游标当前行 :4 table_name:T_MYSTAT
- 游标当前行 :5 table_name:T_WXL_GETDATA_LOG
- 游标当前行 :6 table_name:ALL_OBJ
- 游标当前行 :7 table_name:DBA_OBJ
- 游标当前行 :8 table_name:T_RPT_XXX
- 游标当前行 :9 table_name:CMS_DOC_BODY
- 游标当前行数 2:9
相关推荐
zycchun 2020-10-16
liuyang000 2020-09-25
talkingDB 2020-06-12
LuoXinLoves 2020-06-06
Justdoit00 2020-04-26
lt云飞扬gt 2020-04-25
流云追风 2020-04-22
lt云飞扬gt 2020-04-21
yuanshuai 2020-03-06
dreamhua 2020-02-21
ALiDan 2020-02-18
dreamhua 2020-01-31
whyname 2019-12-29
tanrong 2019-12-17
暗夜之城 2019-11-13
liuyang000 2019-11-01
dreamhua 2019-10-28
廖金龙 2016-01-04