Cơ sở dữ liệu H2 - Hợp nhất

Lệnh MERGE được sử dụng để cập nhật các hàng hiện có và chèn các hàng mới vào bảng. Cột khóa chính đóng một vai trò quan trọng trong khi sử dụng lệnh này; nó được sử dụng để tìm hàng.

Cú pháp

Sau đây là cú pháp chung của lệnh MERGE.

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

Trong cú pháp trên, mệnh đề KEY được sử dụng để chỉ định tên cột khóa chính. Cùng với mệnh đề VALUES, chúng ta có thể sử dụng các giá trị nguyên thủy để chèn hoặc chúng ta có thể lấy và lưu trữ các giá trị bảng khác vào bảng này bằng lệnh select.

Thí dụ

Trong ví dụ này, chúng ta hãy thử thêm một bản ghi mới vào bảng Khách hàng. Sau đây là chi tiết của bản ghi mới trong bảng.

Tên cột dọc Giá trị
TÔI số 8
TÊN Lokesh
TUỔI TÁC 32
ĐỊA CHỈ Hyderabad
TIỀN LƯƠNG 2500

Sử dụng truy vấn sau, chúng ta hãy chèn bản ghi đã cho vào truy vấn cơ sở dữ liệu H2.

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

Truy vấn trên tạo ra kết quả sau.

Update count: 1

Hãy để chúng tôi xác minh các bản ghi của bảng Khách hàng bằng cách thực hiện truy vấn sau.

SELECT * FROM CUSTOMER;

Truy vấn trên tạo ra kết quả sau.

TÔI Tên Tuổi tác Địa chỉ Tiền lương
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
số 8 Lokesh 32 Hyderabad 2500

Bây giờ chúng ta hãy thử cập nhật hồ sơ bằng cách sử dụng Mergechỉ huy. Sau đây là chi tiết của hồ sơ sẽ được cập nhật.

Tên cột dọc Giá trị
TÔI số 8
TÊN Loki
TUỔI TÁC 32
ĐỊA CHỈ Hyderabad
TIỀN LƯƠNG 3000

Sử dụng truy vấn sau để chèn bản ghi đã cho vào truy vấn cơ sở dữ liệu H2.

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

Truy vấn trên tạo ra kết quả sau.

Update count: 1

Hãy để chúng tôi xác minh các bản ghi của bảng Khách hàng bằng cách thực hiện truy vấn sau.

SELECT * FROM CUSTOMER;

Truy vấn trên tạo ra kết quả sau:

TÔI Tên Tuổi tác Địa chỉ Tiền lương
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
số 8 Loki 32 Hyderabad 3000