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的 表 记录比对照表的记录少

你可能感兴趣的:(ORACLE)