Oracle procedure update 判断
1.目的
当我们想要达到这样的目的:如果test表的行数大于0,则进行修改:
if(select count(*) from test)>0 thenUPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' ;commit;
end if;
但procedure里不支持此种用法,所以我们只能通过变形来实现目的
2.实现
我们通过如下的方式来进行变形操作,已到达目的
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
and (select count(*) from test)>0;commit;
其实逻辑并不难,只是提笔忘字,在学习或工作时想不起来,所以在此记录.
3.变形
我们可以实现一系列的变形操作,应对不同的业务:
/*如果满足条件,则=,如果不满足条件,则<*/
select * from Person
where((a = b and (select count(*) from test)>0)or(a < b and (select count(*) from test)<=0))
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
