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 |