У меня есть таблица с именем hl7_lock в SQL Server со следующими столбцами:
hl7_id
lock_dtm
lock_user
У меня на столе три триггера: ОБНОВЛЕНИЕ, ВСТАВКА и УДАЛЕНИЕ
Таблица никогда не обновляется, но триггер 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. Любой совет, как исправить мой триггер?