Есть ли способ активировать триггер изнутри триггера с помощью хранимой процедуры? - PullRequest
0 голосов

У меня есть таблица «A», в которой есть триггер для извлечения информации из документа в формате PDF, который был загружен в мою программу. Однако иногда этот файл PDF имеет более одного документа. Поэтому в конце триггера я выполнил хранимую процедуру, которая разделяла документы в одном и том же файле pdf и, таким образом, снова вставляла в таблицу «A» еще одну строку, содержащую новый документ, для активации триггера. Моя проблема: триггер не активирован снова, таблица «А» претерпевает изменения, но триггер не активирован.

1 Ответ

0 голосов
/ 20 мая 2019

Скорее всего, вам нужно включить опцию Recursive Triggers в вашей базе данных.

По умолчанию, если триггер изменяет ту же таблицу, в которой был создан триггер, триггер не сработает снова. Чтобы это произошло, используйте:

ALTER DATABASE MyDatabase 
SET RECURSIVE_TRIGGERS ON;

Примечание. Это может вызвать проблемы, если у вас есть триггер, который напрямую изменяет его таблицу. Если это или может быть проблемой, то альтернативным решением было бы поместить действие, которое, как вы надеетесь, активирует триггер, в очередь, и позволить триггеру активироваться естественным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...