小编典典

使用MERGE SQL语句将行更新到hsqldb表中

sql

从文档中不了解我应该如何使用它。

假设我要向集合中添加一行,如果该行已经存在,则 覆盖任何现有值 。我没有行主键,但是我有一个唯一键。

谁能给我看一下将这样的行加到HSQLDB表中的MERGE语句吗?


阅读 173

收藏
2021-05-23

共1个答案

小编典典

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子句中的数据,但是您可以使用任何其他值进行插入或更新。

2021-05-23