У меня есть таблица под названием hl7_lock в SQL Server с этими столбцами:
hl7_id lock_dtm lock_user
У меня есть 3 триггера в таблице для UPDATE, INSERT и DELETE
Таблица никогда не обновляется, но триггер INSERT работает отлично. Однако этот триггер удаления иногда помещает запись в hl7_lock_log с нулевым значением hl7_id.
SET NOCOUNT ON;
declare @hl7_id decimal(18,0)
select @hl7_id = hl7_id from deleted
insert into hl7_lock_log (user_name, action, hl7_id, dtm)
values(system_user, 'Delete', @hl7_id,getdate())
Остальные поля вставлены успешно, но hl7_id имеет значение null. У удаленных записей нет нулевого hl7_id.
Мы установили SQL Server SP 2 на выходных, но это не улучшило ситуацию. Кто-нибудь видел такое поведение в триггере SQL Server. Есть какие-нибудь советы, как исправить мой триггер?