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将会默认的把所有的值全部更新,因而会把该行其他值更新为空。

猜你喜欢

转载自z3sm2012.iteye.com/blog/2068256