H2 Veritabanı - Birleştir

MERGE komutu, mevcut satırları güncellemek ve bir tabloya yeni satırlar eklemek için kullanılır. Birincil anahtar sütunu bu komutu kullanırken önemli bir rol oynar; satırı bulmak için kullanılır.

Sözdizimi

MERGE komutunun genel sözdizimi aşağıdadır.

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

Yukarıdaki sözdiziminde, KEY yan tümcesi birincil anahtar sütun adını belirtmek için kullanılır. VALUES cümlesiyle birlikte, ilkel değerleri eklemek için kullanabiliriz veya select komutunu kullanarak bu tabloya başka bir tablo değeri alıp saklayabiliriz.

Misal

Bu örnekte, Müşteriler tablosuna yeni bir kayıt eklemeye çalışalım. Tablodaki yeni kaydın ayrıntıları aşağıdadır.

Sütun adı Değer
İD 8
İSİM Lokesh
YAŞ 32
ADRES Haydarabad
MAAŞ 2500

Aşağıdaki sorguyu kullanarak, verilen kaydı H2 veritabanı sorgusuna ekleyelim.

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

Yukarıdaki sorgu aşağıdaki çıktıyı üretir.

Update count: 1

Aşağıdaki sorguyu yürüterek Müşteri tablosunun kayıtlarını doğrulayalım.

SELECT * FROM CUSTOMER;

Yukarıdaki sorgu aşağıdaki çıktıyı üretir.

İD İsim Yaş Adres Maaş
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Bombay 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
7 Muffy 24 Indore 10000
8 Lokesh 32 Haydarabad 2500

Şimdi kaydı kullanarak güncellemeyi deneyelim. Mergekomut. Güncellenecek kaydın ayrıntıları aşağıdadır.

Sütun adı Değer
İD 8
İSİM Loki
YAŞ 32
ADRES Haydarabad
MAAŞ 3000

Verilen kaydı H2 veritabanı sorgusuna eklemek için aşağıdaki sorguyu kullanın.

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

Yukarıdaki sorgu aşağıdaki çıktıyı üretir.

Update count: 1

Aşağıdaki sorguyu yürüterek Müşteri tablosunun kayıtlarını doğrulayalım.

SELECT * FROM CUSTOMER;

Yukarıdaki sorgu aşağıdaki çıktıyı üretir -

İD İsim Yaş Adres Maaş
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Bombay 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
7 Muffy 24 Indore 10000
8 Loki 32 Haydarabad 3000