H2 数据库 – 合并
H2 数据库 – 合并
MERGE 命令用于更新现有行并将新行插入表中。主键列在使用此命令时起着重要作用;它用于查找行。
句法
以下是 MERGE 命令的通用语法。
MERGE INTO tableName [ ( columnName [,...] ) ] [ KEY ( columnName [,...] ) ] { VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
在上面的语法中,KEY 子句用于指定主键列名。连同 VALUES 子句,我们可以使用原始值插入,或者我们可以使用 select 命令检索另一个表值并将其存储到该表中。
例子
在这个例子中,让我们尝试向客户表中添加一条新记录。以下是表中新记录的详细信息。
Column Name | 价值 |
---|---|
ID | 8 |
NAME | 洛克什 |
AGE | 32 |
ADDRESS | 海得拉巴 |
SALARY | 2500 |
使用以下查询,让我们将给定的记录插入到 H2 数据库查询中。
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);
上述查询产生以下输出。
Update count: 1
让我们通过执行以下查询来验证 Customer 表的记录。
SELECT * FROM CUSTOMER;
上述查询产生以下输出。
ID | 名称 | 年龄 | 地址 | 薪水 |
---|---|---|---|---|
1 | 拉梅什 | 32 | 艾哈迈达巴德 | 2000年 |
2 | 吉兰 | 25 | 德里 | 1500 |
3 | 考希克 | 23 | 哥打 | 2000年 |
4 | 柴塔利 | 25 | 孟买 | 6500 |
5 | 哈迪克 | 27 | 博帕尔 | 8500 |
6 | 科马尔 | 22 | 议员 | 4500 |
7 | 玛菲 | 24 | 印多尔 | 10000 |
8 | 洛克什 | 32 | 海得拉巴 | 2500 |
现在让我们尝试使用Merge命令更新记录。以下是要更新的记录的详细信息。
Column Name | 价值 |
---|---|
ID | 8 |
NAME | 洛基 |
AGE | 32 |
ADDRESS | 海得拉巴 |
SALARY | 3000 |
使用以下查询将给定的记录插入到 H2 数据库查询中。
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);
上述查询产生以下输出。
Update count: 1
让我们通过执行以下查询来验证 Customer 表的记录。
SELECT * FROM CUSTOMER;
上述查询产生以下输出 –
ID | 名称 | 年龄 | 地址 | 薪水 |
---|---|---|---|---|
1 | 拉梅什 | 32 | 艾哈迈达巴德 | 2000年 |
2 | 吉兰 | 25 | 德里 | 1500 |
3 | 考希克 | 23 | 哥打 | 2000年 |
4 | 柴塔利 | 25 | 孟买 | 6500 |
5 | 哈迪克 | 27 | 博帕尔 | 8500 |
6 | 科马尔 | 22 | 议员 | 4500 |
7 | 玛菲 | 24 | 印多尔 | 10000 |
8 | 洛基 | 32 | 海得拉巴 | 3000 |