Baza danych H2 - Merge
Polecenie MERGE służy do aktualizacji istniejących wierszy i wstawiania nowych wierszy do tabeli. Kolumna klucza podstawowego odgrywa ważną rolę podczas korzystania z tego polecenia; służy do znalezienia wiersza.
Składnia
Poniżej przedstawiono ogólną składnię polecenia MERGE.
MERGE INTO tableName [ ( columnName [,...] ) ]
[ KEY ( columnName [,...] ) ]
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
W powyższej składni klauzula KEY służy do określenia nazwy kolumny klucza podstawowego. Wraz z klauzulą VALUES, możemy użyć wartości pierwotnych do wstawienia lub możemy pobrać i zapisać inne wartości tabeli w tej tabeli za pomocą polecenia select.
Przykład
W tym przykładzie spróbujmy dodać nowy rekord do tabeli Klienci. Poniżej znajdują się szczegóły nowego rekordu w tabeli.
Nazwa kolumny | Wartość |
---|---|
ID | 8 |
NAZWA | Lokesh |
WIEK | 32 |
ADRES | Hyderabad |
WYNAGRODZENIE | 2500 |
Korzystając z następującego zapytania, wstawmy podany rekord do zapytania bazy danych H2.
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Lokesh', 32, 'Hyderabad', 2500);
Powyższe zapytanie daje następujące dane wyjściowe.
Update count: 1
Zweryfikujmy rekordy tabeli Customer, wykonując następujące zapytanie.
SELECT * FROM CUSTOMER;
Powyższe zapytanie daje następujące dane wyjściowe.
ID | Nazwa | Wiek | Adres | Wynagrodzenie |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000 |
2 | Khilan | 25 | Delhi | 1500 |
3 | Kaushik | 23 | Kota | 2000 |
4 | Chaitali | 25 | Bombaj | 6500 |
5 | Hardik | 27 | Bhopal | 8500 |
6 | Komal | 22 | poseł | 4500 |
7 | Muffy | 24 | Indore | 10000 |
8 | Lokesh | 32 | Hyderabad | 2500 |
Teraz spróbujmy zaktualizować rekord przy użyciu rozszerzenia MergeKomenda. Poniżej znajdują się szczegóły rekordu, który ma zostać zaktualizowany.
Nazwa kolumny | Wartość |
---|---|
ID | 8 |
NAZWA | Loki |
WIEK | 32 |
ADRES | Hyderabad |
WYNAGRODZENIE | 3000 |
Użyj następującego zapytania, aby wstawić dany rekord do zapytania bazy danych H2.
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);
Powyższe zapytanie daje następujące dane wyjściowe.
Update count: 1
Zweryfikujmy rekordy tabeli Customer, wykonując następujące zapytanie.
SELECT * FROM CUSTOMER;
Powyższe zapytanie daje następujące dane wyjściowe -
ID | Nazwa | Wiek | Adres | Wynagrodzenie |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000 |
2 | Khilan | 25 | Delhi | 1500 |
3 | Kaushik | 23 | Kota | 2000 |
4 | Chaitali | 25 | Bombaj | 6500 |
5 | Hardik | 27 | Bhopal | 8500 |
6 | Komal | 22 | poseł | 4500 |
7 | Muffy | 24 | Indore | 10000 |
8 | Loki | 32 | Hyderabad | 3000 |