H2 Database 简明教程
H2 Database - Merge
MERGE 命令用于更新现有行和将新行插入表中。主键列在此命令的使用过程中发挥着重要作用;它用于查找行。
Syntax
以下是 MERGE 命令的通用语法。
MERGE INTO tableName [ ( columnName [,...] ) ]
[ KEY ( columnName [,...] ) ]
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
在上面的语法中,KEY 子句用于指定主键列名。除了 VALUES 子句,我们可以使用基元值插入或使用 select 命令检索另一个表中的值并将其存储到此表中。
Example
在此示例中,我们尝试向 Customers 表中添加一条新记录。以下是表中新记录的详细信息。
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);
以上查询将产生以下输出。
Update count: 1
通过执行以下查询来验证 Customers 表中的记录。
SELECT * FROM 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);
以上查询将产生以下输出。
Update count: 1
通过执行以下查询来验证 Customers 表中的记录。
SELECT * FROM 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 |