任何人都可以帮我解决DB2 for i上的UPDATE SELECT语句(以前称为AS400)吗?我试图根据信息更新一个表。在另一张桌子里。谢谢!
答案 0 :(得分:1)
UPDATE tbla A
SET cola = (SELECT colb
FROM tblb B
WHERE a.key = b.key
)
以上假定也是 - 对于tbla中的每个键,tblb中都有一行 - 或者可乐允许NULL值
如果假设为假,那么您将收到有关可乐不允许NULL的错误。
您需要使用COALESCE来提供默认值,或者不尝试更新tbla中tblb中没有匹配项的行。
最后,DB2 for i允许Row-Value-Expressions,因此以下内容也是有效的:
UPDATE tbla A
SET (cola1, cola2)
= (SELECT colb1, colb2
FROM tblb B
WHERE a.key = b.key
)