我想从 Table1 表中更新 Table2 表中的多个列。临时表中可能有空值。我只想更新在 Table1 表中具有值的数据 - 而不是 NULL 值。
请指教
例如
Table 1 Table 2
ID col11 col2 col3 ID1 col1 col2 col3
3 test xxxx (null) 3 (null) jjj ffffff
5 (null) yyyyy zzzzzz 5 dddd (null) lllllllll
输出
ID col1 col2 col3
3 test xxxx ffffff
5 dddd yyyyy zzzzzz
如果表 1 中的值为空,则不应更新表 2 中的值。
我现在的做法是
UPDATE Table2
SET ( col1 ,col2,col3)
= (SELECT NVL(col1 ,col11), NVL(col2,col22), NVL(col3,col33)
FROM Test1
WHERE ID = ID1 )