2
从文档中我不明白我该如何使用它。使用MERGE SQL语句将行插入到hsqldb表中
说我有一排我想UPSERT到收集,覆盖任何现有值,如果行已经存在。我没有行主键,但我确实有一个唯一的键。
任何人都可以向我展示将这样的行插入到HSQLDB表中的MERGE语句吗?
从文档中我不明白我该如何使用它。使用MERGE SQL语句将行插入到hsqldb表中
说我有一排我想UPSERT到收集,覆盖任何现有值,如果行已经存在。我没有行主键,但我确实有一个唯一的键。
任何人都可以向我展示将这样的行插入到HSQLDB表中的MERGE语句吗?
为HSQLDB一个简单的例子是如下:
CREATE TABLE B(ID INT UNIQUE, A_ID INT);
MERGE INTO B
USING (VALUES 2, 3) I (ID, A_ID)
ON (B.ID=I.ID)
WHEN MATCHED THEN UPDATE SET B.A_ID = I.A_ID
WHEN NOT MATCHED THEN INSERT (ID, A_ID) VALUES (I.ID, I.A_ID)
USING子句包含新数据。 ON子句是匹配条件。注意 这里没有要求使用主键或唯一约束。任何比赛情况都可以。 WHEN MATCHED和WHEN NOT MATCHED子句分别用于UPDATE和INSERT。在这个简单的例子中,来自USING子句的数据被引用,但是你可以插入或更新任何其他值。