我想在Oracle 11g中编写更新,我只想更新tableA,只更改TableCDC中的更改。我不想更新表A中的所有行,我只想更新TableA和TableCDC之间更改的行。从pl sql或oracle中的另一个表中更新一个表(仅更改从CDC表中的行)
Update tableA
set (tableA.col1,tableA.col2,tableA.col3)
= (select col1,Col2,Col3 from tableCDC
where tableA.ID = tableCDC.ID
and tableA.Year = tablecdc.Year)
where (tableA.col1 <> tablecdc.col1
or tableA.col2 <> tablecdc.col2
or tableA.col3 <> tablecdc.col3)
这不工作...如何写正确的格式?
您正在尝试引用tableCDC,其范围只存在于子查询。 – OldProgrammer 2014-09-28 02:22:48