oracle update 语法

场景:ORACLE中基于其余表更新当前表的update语法

ORACLE中基于其他表更新当前表的update语法:

 

UPDATE TargetTable

SET (COL3, COL4)=(SELECT COL1, COL2 FROM SourceTable WHERE SourceTable.NO=TargetTable.NO)

WHERE EXISTS (SELECT 1 FROM SourceTable WHERE SourceTable.NO=TargetTable.NO)

 

此处必须写WHERE子句,如果不写WHERE子句,oracle将会默认的把所有的值全部更新,因而会把该行其他值更新为空。