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 |