Oracle更新一张表的部分内容更新到另一张表

oracle 更新

多表更新 (自己设置)
update customers a set customer_type='01' --01
where exists (select 1 from tmp_cust_city b
where b.customer_id=a.customer_id
)

多表更新 (值由另外关联)
update SYS_USER SU
set (NAME,PASSWORD )=( select SUT.NAME,SUT.PASSWORD
from SYS_USER_TEMP SUT
where SU.ID = SUT.USERID and SUT.ID = 10049 )
where exists (select 1 from SYS_USER_TEMP SUT where SU.ID = SUT.USERID and SUT.ID = 10049)


注意:如果不加where exists 可能会有 cannot update ("BRAINS"."SYS_USER"."NAME") to NULL

即temp表不能提供 足够多的值,所以报错。

如果不想报 1 两张表记录完全一样 2 要update的 表 记录比对照表的记录少
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值