常规Oracle语句与存储过程语句

eg:
有两个表A,B 根据两个表身份证字段a2,b2相等的条件,改变B表b3字段的值,固定改成1。

–1.数据量不大时,使用update

update b 
   set b.b3 = 1 
 where exists(select null from a where a.a2 = b.b2);
commit; 

–2.数据量大时,使用 merge into

merge into b using a on b.b2 = a.a2
 when matched then 
  set b.b3 = 1; 
commit; 

–1.数据量不大时,使用update(存储)

create or replace procedure p_test
is
begin
    update b 
       set b.b3 = 1 
     where exists(select null from a where a.a2 = b.b2);
    commit; 
end;

–2.数据量大时,使用 merge into(存储)

create or replace procedure p_test
is
begin
    merge into b using a on b.b2 = a.a2
     when matched then 
       set b.b3 = 1;
    commit; 
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值