用游标来对数据库的多行数据进行操作

我们知道,在存储过程中用DML语句,只能查询单条记录,如果要对多条数据进行处理,那么就要用到游标,下面以例子来说明:

如果对Scott用户下的EMP表中的用户名为CLERK的每个用户进行薪金加100的操作。

create or replace procedure P_salary 
is
   cursor c_emp is select * from emp where job='CLERK';
begin
  --for就不用打开关闭游标
   for v_row in c_emp
     loop
       update emp e set e.sal=e.sal+100 where e.empno=v_row.empno;
     end loop;
   commit;
   exception
     when others then
       rollback;
end P_salary;

然后新建一个SQL窗口对存储过程进行调用:

--P_salary
declare 
begin
   P_salary;
end;


调用结束后可以用select * from emp where job='CLERK';观察薪金的变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值