MERGE命令用于更新现有行并将新行插入表中,使用此命令时,主键列起着重要的作用,它用于查找行。

Merge - 语法

以下是MERGE命令的通用语法。

MERGE INTO tableName [ ( columnName [,...] ) ] 
[ KEY ( columnName [,...] ) ] 
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select } 

在以上语法中,KEY子句用于指定主键列名称,连同VALUES子句,无涯教程可以使用基本值插入,也可以使用select命令将另一个表值检索并存储到该表中。

Merge - 示例

在此示例中,让无涯教程尝试将新记录添加到"CUSTOMER"表中,以下查询,让无涯教程将给定记录插入到H2数据库查询中。

MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);

上面的查询产生以下输出。

Update count: 1 

让无涯教程通过执行以下查询来验证Customer表的记录。

SELECT * FROM CUSTOMER;

上面的查询产生以下输出。

ID 名称 年龄 地址 薪金
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Mumbai 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
7 Learnfk 24 Indore 10000
8 Lokesh 32 Hyderabad 2500

现在,让无涯教程尝试使用合并命令更新记录,使用以下查询将给定记录插入到H2数据库查询中。

MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);

上面的查询产生以下输出。

Update count: 1 

让无涯教程通过执行以下查询来验证Customer表的记录。

SELECT * FROM CUSTOMER; 

上面的查询产生以下输出-

ID 名称 年龄 地址 薪金
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Mumbai 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
7 Learnfk 24 Indore 10000
8 Loki 32 Hyderabad 3000

参考链接

https://www.learnfk.com/h2/h2-database-merge.html