H2データベース-マージ

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

構文

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

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

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

この例では、Customersテーブルに新しいレコードを追加してみましょう。以下は、表の新しいレコードの詳細です。

列名
ID 8
名前 ロケシュ
年齢 32
住所 ハイデラバード
給料 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 Hardik 27 ボパール 8500
6 コマル 22 MP 4500
7 マフィー 24 インドール 10000
8 ロケシュ 32 ハイデラバード 2500

それでは、を使用してレコードを更新してみましょう。 Mergeコマンド。更新するレコードの詳細は以下のとおりです。

列名
ID 8
名前 ロキ
年齢 32
住所 ハイデラバード
給料 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 Hardik 27 ボパール 8500
6 コマル 22 MP 4500
7 マフィー 24 インドール 10000
8 ロキ 32 ハイデラバード 3000