您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
oracle-隐式游标
发布时间:2017-11-23 15:16:03编辑:雪饮阅读()
隐式游标
当执行一条dml语句时,隐式游标由系统自动创建
叫SQL,
SQL有几个属性
isopen true/false是否打开,隐式游标默认dml语句执行完成就自动打开了。
rowcount增删改影响的行数,对于select无意义(隐式游标的影响行数是对于最后一条sql来说的)
found true/false是否影响到行
notfound true/false,与found相同,只是值相反。
隐式游标示例:
SQL> edit
Wrote file afiedt.buf
1 begin
2 update emp set sal=sal+100 where deptno=20;
3 if SQL%FOUND then
4 dbms_output.put_line('update:'||SQL%ROWCOUNT||' row');
5 end if;
6 delete from emp where deptno=10;
7 if SQL%FOUND then
8 dbms_output.put_line('delete:'||SQL%ROWCOUNT||' row');
9 end if;
10 insert into dept values(60,'aaa','bbb');
11 insert into dept values(70,'ccc','ddd');
12 if SQL%FOUND then
13 dbms_output.put_line('insert:'||SQL%ROWCOUNT||' row');
14 end if;
15 rollback;
16* end;
17 /
update:5 row
delete:3 row
insert:1 row
PL/SQL procedure successfully completed.
在面向过程语句中明明insert了两条语句,但最后结果显示受影响的只有1条,这是因为隐式游标的影响行数是对于最后一条sql来说的。
关键字词:oracle,隐式游标
上一篇:oracle-异常处理
下一篇:oracle-约束