2015-04-13 3 views
-1

У меня есть 2 триггеров (Insert и Update)Insert/Update Триггеры

CREATE TRIGGER my_InsertTrigger 
    AFTER INSERT ON `table` 
    FOR EACH ROW 
    BEGIN 
     Update a previous record if found 
    END // 

CREATE TRIGGER my_UpdateTrigger 
    AFTER UPDATE ON `table` 
    FOR EACH ROW 
    BEGIN 
     ..... 
    END // 

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

Итак, мой вопрос в указанном выше случае, будет ли триггер insert (my_InsertTrigger) вызвать триггер обновления (my_UpdateTrigger)?

Заранее спасибо.

+1

Вы отметили вопрос "sql-server", но синтаксис предлагает MySQL (или, возможно, другую базу данных). Пожалуйста, отметьте вопрос соответствующим образом. –

+1

Почему бы просто не проверить его самостоятельно? – Rahul

+0

@GordonLinoff Я удалил теги sql и sql-server –

ответ

1

Когда я сменил триггерный синтаксис на SQL Server (просто вставив одну строку), один триггер, который вызывает обновление в таблице, начнет запуск триггера обновления в этой таблице (если он существует).

Я видел это на столах ревизии и две вещи могут, и, случись:

1) Производительность будет страдать.

2) Если триггеры аудита начинают отталкивать друг друга (с помощью кросс-триггеров), вы можете выходить из пространства стека (триггеры могут вложить 32 уровня вниз).

Смежные вопросы