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))


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部