H2-database-merge

提供:Dev Guides
移動先:案内検索

H2データベース-マージ

MERGEコマンドを使用して、既存の行を更新し、新しい行をテーブルに挿入します。 主キー列は、このコマンドの使用中に重要な役割を果たします。行を見つけるために使用されます。

構文

以下は、MERGEコマンドの一般的な構文です。

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

上記の構文では、KEY句を使用して主キー列名を指定します。 VALUES句とともに、プリミティブ値を使用して挿入したり、selectコマンドを使用してこのテーブルに別のテーブル値を取得して保存したりできます。

この例では、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

次のクエリを実行して、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 コマンドを使用してレコードを更新してみましょう。 以下は、更新されるレコードの詳細です。

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

次のクエリを実行して、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