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 |