Oracle中的游标

Cursor

%FOUND最近一次读取是否成功

%NOTFOUND

%ISOPEN游标打开时返回true

%ROWCOUNT返回已从游标读取的记录数

 

输出年龄大于等于18的用户的id跟name

declare

v_id t.id%type;

v_name t.name%type;

cursor c_user is

select id,name from t where age>=18;

begin

open c_user

loop

fetch c_user into v_id,v_name;

exit when c_user%notfound;

end loop;

close c_user;

end;

在游标定位下,修改或删除操作for update 进行锁定表中的对应行中的列

declare

v_id t.id%type;

v_name t.name%type;

cursor c_user is

select id,name from t where age>=18 for update [of name][nowait]

begin

   for c in c_user loop

      if c.id<20 then update t set name='人事部' where current of c_user;

      end if;

   end loop;

commit;

end;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值