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 |