使用MERGE SQL语句将行升级到hsqldb表中

使用MERGE SQL语句将行升级到hsqldb表中,sql,merge,hsqldb,Sql,Merge,Hsqldb,没有从文档中了解我应该如何使用它 假设我有一行要向上插入到集合中,覆盖任何现有值(如果该行已存在)。我没有行主键,但我有一个唯一的键 有谁能告诉我将这样一行上传到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 UPDAT

没有从文档中了解我应该如何使用它

假设我有一行要向上插入到集合中,覆盖任何现有值(如果该行已存在)。我没有行主键,但我有一个唯一的键


有谁能告诉我将这样一行上传到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子句中的数据,但您可以插入或使用任何其他值进行更新