Мне кажется это неестественным потоком, поскольку вы заявляете, что естественный поток должен создавать TRIGGER
для таблицы B, которая вставляет запись в таблицу A всякий раз, когда вставляется новая запись таблицы B.
Но я понимаю, что это упрощение более сложной проблемы, поэтому, если вам действительно нужно создать такую процедуру, остается вопрос, на который нужно ответить, что произойдет, если проверка отрицательна, должно ли быть исключение?должна ли запись быть вставлена с FALSE
вместо TRUE
, должна ли запись игнорироваться?с моей точки зрения, есть два варианта:
- Создать
TRIGGER
до INSERT
в таблице A, которая соответствующим образом обновляет таблицу (Создать PROCEDURE
, который проверяет, существует ли он, и TRIGGER
, который выполняет эту процедуру) - Создать
RULE
на вставке в вашей таблице A, которая проверяет, существует ли запись в таблице B и изменяет запись или ничего не делает.
Снемного больше предыстории, я могу помочь вам с Trigger / Rule.
В любом случае, учтите, что это может быть реальная ошибка с точки зрения производительности, если эта таблица получает много INSERT, и вы должны пойти на некоторые офлайн (а невыполняется в режиме реального времени INSERT), а не в режиме реального времени INSERT