Учебники

База данных H2 — Слияние

Команда MERGE используется для обновления существующих строк и вставки новых строк в таблицу. Столбец первичного ключа играет важную роль при использовании этой команды; он используется для поиска строки.

Синтаксис

Ниже приведен общий синтаксис команды MERGE.

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

В приведенном выше синтаксисе предложение KEY используется для указания имени столбца первичного ключа. Наряду с предложением VALUES мы можем использовать примитивные значения для вставки или извлекать и сохранять другие значения таблицы в этой таблице с помощью команды select.

пример

В этом примере давайте попробуем добавить новую запись в таблицу Customers. Ниже приведены подробности новой записи в таблице.

Название столбца Значение
Я БЫ 8
НАЗВАНИЕ Lokesh
ВОЗРАСТ 32
АДРЕС Хайдарабад
ОПЛАТА ТРУДА 2500

Используя следующий запрос, давайте вставим данную запись в запрос базы данных H2.

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

Приведенный выше запрос приводит к следующему выводу.

Update count: 1 

Давайте проверим записи таблицы Customer, выполнив следующий запрос.

SELECT * FROM CUSTOMER;

Приведенный выше запрос приводит к следующему выводу.

Я БЫ название Возраст Адрес Оплата труда
1 Рамеш 32 Ахмедабад 2000
2 Khilan 25 Дели 1500
3 Кошик 23 Kota 2000
4 Chaitali 25 Mumbai 6500
5 Hardik 27 Бхопал 8500
6 Komal 22 член парламента 4500
7 Muffy 24 Индор 10000
8 Lokesh 32 Хайдарабад 2500

Теперь давайте попробуем обновить запись с помощью команды Merge . Ниже приведены подробности записи, подлежащей обновлению.

Название столбца Значение
Я БЫ 8
НАЗВАНИЕ Loki
ВОЗРАСТ 32
АДРЕС Хайдарабад
ОПЛАТА ТРУДА 3000

Используйте следующий запрос, чтобы вставить данную запись в запрос базы данных H2.

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

Приведенный выше запрос приводит к следующему выводу.

Update count: 1 

Давайте проверим записи таблицы Customer, выполнив следующий запрос.

SELECT * FROM CUSTOMER; 

Приведенный выше запрос приводит к следующему выводу: