H2 数据库 - Merge 命令
MERGE 命令用于更新现有行并向表中插入新行。 使用此命令时,主键列起着重要作用; 它用于查找行。
语法
以下是 MERGE 命令的通用语法。
MERGE INTO tableName [ ( columnName [,...] ) ] [ KEY ( columnName [,...] ) ] { VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
在上述语法中,KEY 子句用于指定主键列名称。 与 VALUES 子句一起,我们可以使用原始值进行插入,也可以使用 select 命令检索另一个表值并将其存储到该表中。
示例
在此示例中,让我们尝试向 Customers 表中添加一条新记录。 以下是表中新记录的详细信息。
列名称 | 值 |
---|---|
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
让我们通过执行以下查询来验证 Customer 表的记录。
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命令更新记录。 以下是要更新的记录的详细信息。
列名称 | 值 |
---|---|
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
让我们通过执行以下查询来验证 Customer 表的记录。
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 |