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