Будет ли инструкция Insert в таблице с триггером «INSTEAD OF» вызвать бесконечный «вместо», вставить «цикл исполнений»?ВМЕСТО ТРИГГЕРА, будет ли это бесконечно петля?
Например это:
CREATE TRIGGER setDescToUpper ON part_numbers
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO part_numbers (
colA,
colB,
part_description
) SELECT
colA,
colB,
UPPER(part_description)
) FROM
INSERTED
END
GO
ли оператор вставки внутри «вместо» триггера вызвать петлю?
Я не хочу отключать рекурсивные триггеры.
Нужно ли временно отключить триггер?
Источник: SQL Server - after insert trigger - update another column in the same table
+1 Правильно, это триггер INSTEAD OF. [MSDN говорит] (http://msdn.microsoft.com/en-us/library/ms189799.aspx): «Если триггер INSTEAD OF, определенный в таблице, выполняет инструкцию против таблицы, которая обычно запускает триггер INSTEAD OF опять же, триггер не вызывается рекурсивно. Вместо этого оператор обрабатывается так, как если бы таблица не имела триггера INSTEAD OF и запускала цепочку операций с ограничениями и после запуска триггера ». – Andomar
Не могли бы вы объяснить, что произойдет в этом случае с помощью инструкции INSERT? Будет ли INSERT внутри триггера еще выполняться? –
Спасибо, ребята. Отметил. – zunetastic