Синтаксис слияния - если не обновлено или не вставлено УДАЛИТЬ - PullRequest
0 голосов
/ 15 февраля 2019

Я использую оператор h2 MERGE для обновления или вставки в таблицу с использованием подготовленных операторов.Я хочу удалить строки, которые не обновлены и не вставлены.

Пример SOURCE to TARGET:

  • ROW существует в SOURCE, но отсутствует в TARGET => INSERT
  • ROW существует в SOURCE и TARGET => UPDATE
  • ROW существует в TARGET, но не в SOURCE => DELETE

Я пытался использовать триггер, но, похоже, чтоБаза данных h2 не поддерживает операторы IF NOT UPDATED или IF NOT INSERTED, как видно здесь Мой второй вариант - создать в этой таблице вторую таблицу MERGE, а затем сравнить эти 2 таблицы с MERGE USING Оператор, как видно здесь .

MERGE Оператор:

MERGE INTO table KEY (ID) VALUES (?, ?, ?, ?, ?, ?)

Идея триггера:

CREATE TRIGGER test_trigger
AFTER UPDATE ON table
AS
IF NOT UPDATE AND IF NOT INSERT
    DELETE ....

Есть ли эквивалентное утверждение для IF или MERGE USING единственный способ решить эту проблему в H2 Databese?

...