H2-Datenbank - Zusammenführen

Mit dem Befehl MERGE werden die vorhandenen Zeilen aktualisiert und neue Zeilen in eine Tabelle eingefügt. Die Primärschlüsselspalte spielt bei Verwendung dieses Befehls eine wichtige Rolle. Es wird verwendet, um die Zeile zu finden.

Syntax

Es folgt die generische Syntax des Befehls MERGE.

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

In der obigen Syntax wird die KEY-Klausel verwendet, um den Namen der Primärschlüsselspalte anzugeben. Zusammen mit der VALUES-Klausel können wir primitive Werte zum Einfügen verwenden oder andere Tabellenwerte mit dem Befehl select abrufen und in dieser Tabelle speichern.

Beispiel

In diesem Beispiel versuchen wir, der Tabelle "Kunden" einen neuen Datensatz hinzuzufügen. Im Folgenden finden Sie die Details des neuen Datensatzes in der Tabelle.

Spaltenname Wert
ICH WÜRDE 8
NAME Lokesh
ALTER 32
ADRESSE Hyderabad
GEHALT 2500

Fügen Sie mit der folgenden Abfrage den angegebenen Datensatz in die H2-Datenbankabfrage ein.

MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);

Die obige Abfrage erzeugt die folgende Ausgabe.

Update count: 1

Lassen Sie uns die Datensätze der Kundentabelle überprüfen, indem Sie die folgende Abfrage ausführen.

SELECT * FROM CUSTOMER;

Die obige Abfrage erzeugt die folgende Ausgabe.

ICH WÜRDE Name Alter Adresse Gehalt
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

Versuchen wir nun, den Datensatz mit dem zu aktualisieren MergeBefehl. Im Folgenden finden Sie die Details des zu aktualisierenden Datensatzes.

Spaltenname Wert
ICH WÜRDE 8
NAME Loki
ALTER 32
ADRESSE Hyderabad
GEHALT 3000

Verwenden Sie die folgende Abfrage, um den angegebenen Datensatz in die H2-Datenbankabfrage einzufügen.

MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);

Die obige Abfrage erzeugt die folgende Ausgabe.

Update count: 1

Lassen Sie uns die Datensätze der Kundentabelle überprüfen, indem Sie die folgende Abfrage ausführen.

SELECT * FROM CUSTOMER;

Die obige Abfrage erzeugt die folgende Ausgabe:

ICH WÜRDE Name Alter Adresse Gehalt
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