Sup*_*man 18 sql database db2 sql-update
我想用单个Update语句更新DB2中表的多个列.
任何提示或想法都会很明显.谢谢.
Gor*_*off 38
所有SQL版本中的更新语句如下所示:
update table
set col1 = expr1,
col2 = expr2,
. . .
coln = exprn
where some condition
Run Code Online (Sandbox Code Playgroud)
因此,答案是您使用逗号分隔分配,不要重复该set语句.
如果值来自另一个表,您可能想要使用
UPDATE table1 t1
SET (col1, col2) = (
SELECT col3, col4
FROM table2 t2
WHERE t1.col8=t2.col9
)
Run Code Online (Sandbox Code Playgroud)
例:
UPDATE table1
SET (col1, col2, col3) =(
(SELECT MIN (ship_charge), MAX (ship_charge) FROM orders),
'07/01/2007'
)
WHERE col4 = 1001;
Run Code Online (Sandbox Code Playgroud)