База данных H2 - слияние
Команда MERGE используется для обновления существующих строк и вставки новых строк в таблицу. Столбец первичного ключа играет важную роль при использовании этой команды; он используется для поиска строки.
Синтаксис
Ниже приведен общий синтаксис команды MERGE.
MERGE INTO tableName [ ( columnName [,...] ) ]
[ KEY ( columnName [,...] ) ]
{ VALUES { ( { DEFAULT | expression } [,...] ) } [,...] | select }
В приведенном выше синтаксисе предложение KEY используется для указания имени столбца первичного ключа. Наряду с предложением VALUES мы можем использовать примитивные значения для вставки или мы можем извлекать и сохранять другие значения таблицы в этой таблице с помощью команды select.
пример
В этом примере давайте попробуем добавить новую запись в таблицу Customers. Ниже приведены сведения о новой записи в таблице.
Название столбца | Значение |
---|---|
Я БЫ | 8 |
ИМЯ | Локеш |
ВОЗРАСТ | 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 | Хилан | 25 | Дели | 1500 |
3 | Кошик | 23 | Кота | 2000 г. |
4 | Chaitali | 25 | Мумбаи | 6500 |
5 | Hardik | 27 | Бхопал | 8500 |
6 | Комал | 22 | Депутат | 4500 |
7 | Маффи | 24 | Индор | 10000 |
8 | Локеш | 32 | Хайдарабад | 2500 |
Теперь попробуем обновить запись с помощью Mergeкоманда. Ниже приведены подробные сведения об обновляемой записи.
Название столбца | Значение |
---|---|
Я БЫ | 8 |
ИМЯ | Локи |
ВОЗРАСТ | 32 |
АДРЕС | Хайдарабад |
ЗАРПЛАТА | 3000 |
Используйте следующий запрос, чтобы вставить данную запись в запрос базы данных H2.
MERGE INTO CUSTOMER KEY (ID) VALUES (8, 'Loki', 32, 'Hyderabad', 3000);
Вышеупомянутый запрос дает следующий результат.
Update count: 1
Давайте проверим записи таблицы Customer, выполнив следующий запрос.
SELECT * FROM CUSTOMER;
Вышеупомянутый запрос дает следующий результат -
Я БЫ | имя | Возраст | Адрес | Зарплата |
---|---|---|---|---|
1 | Рамеш | 32 | Ахмадабад | 2000 г. |
2 | Хилан | 25 | Дели | 1500 |
3 | Кошик | 23 | Кота | 2000 г. |
4 | Chaitali | 25 | Мумбаи | 6500 |
5 | Hardik | 27 | Бхопал | 8500 |
6 | Комал | 22 | Депутат | 4500 |
7 | Маффи | 24 | Индор | 10000 |
8 | Локи | 32 | Хайдарабад | 3000 |