H2数据库 - 合并



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

语法

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

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

在上述语法中,KEY子句用于指定主键列名。除了VALUES子句外,我们可以使用原始值进行插入,或者可以使用select命令检索并存储另一个表的值到此表中。

示例

在本例中,让我们尝试向Customers表中添加一条新记录。以下是表中新记录的详细信息。

列名
ID 8
姓名 Lokesh
年龄 32
地址 海德拉巴
薪资 2500

使用以下查询,让我们将给定的记录插入到H2数据库查询中。

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

上述查询产生以下输出。

Update count: 1 

让我们通过执行以下查询来验证Customer表的记录。

SELECT * FROM CUSTOMER;

上述查询产生以下输出。

ID 姓名 年龄 地址 薪资
1 Ramesh 32 艾哈迈达巴德 2000
2 Khilan 25 德里 1500
3 Kaushik 23 科塔 2000
4 Chaitali 25 孟买 6500
5 Hardik 27 博帕尔 8500
6 Komal 22 中央邦 4500
7 Muffy 24 因多尔 10000
8 Lokesh 32 海德拉巴 2500

现在让我们尝试使用Merge命令更新记录。以下是待更新记录的详细信息。

列名
ID 8
姓名 Loki
年龄 32
地址 海德拉巴
薪资 3000

使用以下查询将给定的记录插入到H2数据库查询中。

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

上述查询产生以下输出。

Update count: 1 

让我们通过执行以下查询来验证Customer表的记录。

SELECT * FROM CUSTOMER; 

上述查询产生以下输出 -

ID 姓名 年龄 地址 薪资
1 Ramesh 32 艾哈迈达巴德 2000
2 Khilan 25 德里 1500
3 Kaushik 23 科塔 2000
4 Chaitali 25 孟买 6500
5 Hardik 27 博帕尔 8500
6 Komal 22 中央邦 4500
7 Muffy 24 因多尔 10000
8 Loki 32 海德拉巴 3000
广告

© . All rights reserved.