oracle隐式游标

/*
::显式游标主要是用于查询语句的处理,尤其是在查询结果为多条记录的情况下,而对于非查询语句
如:修改,删除操作,则由Oracle系统自动地为这些操作设置游标并创建其工作区,这些由系统隐含
创建的游标称为隐式游标,隐式游标的名字为SQL,这是由Oracle系统定义的,对于隐式游标的操作
如:定义,打开,取值及关闭操作,都是由Oracle系统自动地完成,无须用户进行处理,用户只能通过
隐式游标的相关属性,来完成相应的操作,在隐式游标的工作区中,所存放的数据域与用户自定义的
显式游标无关,最新处理的一条SQL语句所包含的数据::格式调用为:SQL%
SQL%ISOPEN 
SQL%FOUND 
SQL%NOTFOUND 
SQL%ROWCOUNT
*/
declare 
  -- 通过隐式游标SQL的%rowcount 属性来了解修改了多少行
  v_rows number;
begin
  -- 更新数据
  update emp set emp.sal = 3000 where emp.deptno = 30 ;
  -- 获取默认游标的属性值
  v_rows := SQL%ROWCOUNT;
  dbms_output.put_line('更新了'||v_rows||'个雇员的工资');
  -- 回退更新,以便使数据库的数据保持原样
  rollback;
end;

/*
关于NO_DATA_FOUND 和 %NOTFOUND 的区别
select ... into 语句触发 no_data_found;
当一个显示游标的where 子句未找到时触发%notfound
当update 或delete语句的where子句未找到时触发SQL%NOTFOUND
在提取循环中要用%NOTFOUND或%FOUND来确定循环的退出条件,不用NO_DATA_FOUND
*/








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值