Команда 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;
Приведенный выше запрос приводит к следующему выводу: