H2数据库 - 合并

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

语法

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

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

在上面的语法中,KEY子句用于指定主键列名.与VALUES子句一起,我们可以使用原始值来插入,或者我们可以使用select命令检索并将另一个表值存储到此表中.

示例

在此示例中,让我们尝试将新记录添加到Customers表中.以下是表中新记录的详细信息.

列名Value
ID8
NAMELokesh
AGE32
ADDRESSHyderabad
SALARY2500

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

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

上述查询产生以下输出.

Update count: 1

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

SELECT * FROM CUSTOMER;

上述查询产生以下输出.

ID名称年龄地址薪水
1Ramesh32Ahmedabad2000
2Khilan25Delhi1500
3Kaushik23Kota2000
4Chaitali25孟买6500
5Hardik27Bhopal8500
6Komal22MP4500
7Muffy24Indore10000
8Lokesh32Hyderabad2500

现在让我们尝试更新使用合并命令记录.以下是要更新的记录的详细信息.

列名Value
ID8
NAMELoki
AGE32
ADDRESSHyderabad
SALARY3000

使用以下查询将给定记录插入H2数据库查询.

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

上述查询产生以下输出.

Update count: 1

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

SELECT * FROM CUSTOMER;

以上查询产生以下输出 :

ID名称年龄地址薪水
1Ramesh32Ahmedabad2000
2Khilan25Delhi1500
3Kaushik23Kota2000
4Chaitali25Mumbai6500
5Hardik27Bhopal8500
6Komal22MP4500
7Muffy24Indore10000
8Loki32Hyderabad3000