Вы должны знать, что триггеры запускаются один раз для пакета, а не один раз для строки.Таким образом, вы можете работать в ситуации, когда некоторые строк соответствуют вашим критериям, а другие - нет.
Таким образом, вам лучше всего написать логику триггеравыбрать подходящие строки из inserted
.Если не было совпадающих строк, остальная часть вашей логики будет работать с пустым набором, но это не представляет реальной проблемы - SQL Server достаточно быстр, чтобы ничего не делать, когда это необходимо.вставка этих строк в таблицу аудита, что-то вроде:
create trigger MacId
on T
for insert
as
insert into Audit(Col1,Col2,Col3)
select i.Col1,i.Col2,'inserted'
from inserted i
where i.Col4 = 'MAC ID'