我喜欢 MySql 的非常有用的说法是REPLACE INTO table
即“如果存在则替换一个值或如果不存在则插入表”。
db2的文档REPLACE
仅适用于对字符串进行操作的函数,因此没有这个含义。
db2中有类似的东西吗?现在我也在寻找关键词IF EXSTS/IF NOT EXIST
.
DB2 使用 SQL 标准MERGE https://www.ibm.com/docs/en/db2/11.5?topic=statements-merge声明做基本上相同的事情。语法不同:
MERGE INTO table_to_upsert AS tab
USING (VALUES
(1, 2, 3),
(4, 5, 6),
(7, 8, 9)
-- more rows
) AS merge (C1, C2, C3)
ON tab.key_to_match = merge.key_to_match
WHEN MATCHED THEN
UPDATE SET tab.C1 = merge.C1,
tab.C2 = merge.C2,
tab.C3 = merge.C3
WHEN NOT MATCHED THEN
INSERT (C1, C2, C3)
VALUES (merge.C1, merge.C2, merge.C3)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)