Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Триггер - сюрприз  [new]
burgos
Member

Откуда: España
Сообщений: 9790
Всю свою не короткую (тьфу, тьфу, тьфу...) жизнь считал, что триггеры срабатывают только в том случае, когда изменены данные.
Например если я пытаюсь удалить несуществующий регистр, то триггер не сработает. К сожалению на практике это происходит ВСЕГДА.
Кто-нибудь может сказать мне кто сошёл с ума, я или SQL?
11 ноя 20, 14:56    [22230165]     Ответить | Цитировать Сообщить модератору
 Re: Триггер - сюрприз  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31602
burgos
Кто-нибудь может сказать мне кто сошёл с ума, я или SQL?
Сервер в порядке, триггеры вызываются на каждый соответствующий стейтмент, независимо от количества затрагиваемых стейтментом записей.
11 ноя 20, 15:00    [22230167]     Ответить | Цитировать Сообщить модератору
 Re: Триггер - сюрприз  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
https://docs.microsoft.com/ru-ru/sql/t-sql/statements/create-trigger-transact-sql?view=sql-server-ver15
A trigger is a special type of stored procedure that automatically runs when an event occurs in the database server. DML triggers run when a user tries to modify data through a data manipulation language (DML) event. DML events are INSERT, UPDATE, or DELETE statements on a table or view. These triggers fire when any valid event fires, whether table rows are affected or not.
11 ноя 20, 15:02    [22230169]     Ответить | Цитировать Сообщить модератору
 Re: Триггер - сюрприз  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8047
burgos,

при удалении несуществующего ключа в таблице deleted будет пусто.
11 ноя 20, 18:56    [22230366]     Ответить | Цитировать Сообщить модератору
 Re: Триггер - сюрприз  [new]
burgos
Member

Откуда: España
Сообщений: 9790
Владислав Колосов,

Это я знаю...
12 ноя 20, 01:15    [22230520]     Ответить | Цитировать Сообщить модератору
 Re: Триггер - сюрприз  [new]
burgos
Member

Откуда: España
Сообщений: 9790
В общем, "век живи - век учись"...
Большое всем спасибо.
12 ноя 20, 01:16    [22230521]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить