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;