Я создал триггер в SQL Server:
ALTER trigger [dbo].[TIME_PersonalTagUpdIns] on [dbo].[TIME_PersonalTag] for INSERT,UPDATE as
if not UPDATE(SyncToTimeTac)
BEGIN
update a
set a.SyncToTimeTac=0x31
from TIME_PersonalTag a inner join inserted b on a.Ident=b.Ident
where a.Erledigt = 0x31
END
Теперь, когда я выполняю
update TIME_PersonalTag set SyncToTimeTac = 0x30
, цель состоит в том, чтобы не выполнять логику в триггере.Для этого я проверяю в начале if not UPDATE(SyncToTimeTac)
- но триггерная логика, тем не менее, будет выполняться, когда я выполню приведенную выше инструкцию.
Я не понимаю, почему это происходит.