H2 MERGE
MERGE 命令用于更新现有行并将新行插入表中。主键列在使用此命令时起着重要作用;它用于查找行。
语法
以下是 MERGE 命令的通用语法。
MERGE INTO tableName [ ( columnName [,...] ) ]
[ KEY ( columnName [,...] ) ]
{ VALUES { ( { default | expression } [,...] ) } [,...] | select }
在上面的语法中,KEY 子句用于指定主键列名。与 VALUES 子句一起,我们可以使用原始值插入,或者我们可以使用 select 命令检索另一个表值并将其存储到该表中。
示例
在本例中,让我们尝试向客户表中添加一条新记录。以下是表中新记录的详细信息。
Column Name |
Value |
ID |
8 |
NAME |
Lokesh |
AGE |
32 |
ADDRESS |
Hyderabad |
SALARY |
2500 |
使用以下查询,让我们将给定的记录插入到 H2 数据库查询中。
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);
上述查询产生以下输出。
让我们通过执行以下查询来验证 Customer 表的记录。
上述查询产生以下输出。
ID |
Name |
Age |
Address |
Salary |
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 |
Muffy |
24 |
Indore |
10000 |
8 |
Lokesh |
32 |
Hyderabad |
2500 |
现在让我们尝试使用
Merge 命令更新记录。以下是要更新的记录的详细信息。
Column Name |
Value |
ID |
8 |
NAME |
Loki |
AGE |
32 |
ADDRESS |
Hyderabad |
SALARY |
3000 |
使用以下查询将给定的记录插入到 H2 数据库查询中。
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);
上述查询产生以下输出。
让我们通过执行以下查询来验证 Customer 表的记录。
上述查询产生以下输出-
ID |
Name |
Age |
Address |
Salary |
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 |
Muffy |
24 |
Indore |
10000 |
8 |
Loki |
32 |
Hyderabad |
3000 |