plsql子查询查出多行怎么修改
展开全部
PL/SQL查询出来的数据要想修改,那就是用:
--可更新的游标:
--for update 说明是为了更新才使用的这个游标
--current of c 是更新当前这条记录,当前游标指向哪条记录上,就更新哪一条
declare
cursor c
is
select * from emp for update;
begin
for v_temp in c loop
if(v_temp.sal < 2000) then
update emp set sal = sal*2 where current of c;
elsif(v_temp.sal = 5000) then
delete from emp where current of c;
end if;
end loop;
commit;
end;
上面程序,如果sal<2000,那么更新emp表的sal字段为sal*2,
如果sal=5000,那么删除这条记录.
--可更新的游标:
--for update 说明是为了更新才使用的这个游标
--current of c 是更新当前这条记录,当前游标指向哪条记录上,就更新哪一条
declare
cursor c
is
select * from emp for update;
begin
for v_temp in c loop
if(v_temp.sal < 2000) then
update emp set sal = sal*2 where current of c;
elsif(v_temp.sal = 5000) then
delete from emp where current of c;
end if;
end loop;
commit;
end;
上面程序,如果sal<2000,那么更新emp表的sal字段为sal*2,
如果sal=5000,那么删除这条记录.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询