SQL Server - влияет ли триггер на @@ Rowcount? - PullRequest
16 голосов
/ 10 августа 2011

У меня есть запрос, который выполняет UPSERT или обновляет, если существует, и вставляет, если нет:

update MyTable 
set [Name]=@NewValue 
where ID=@ID

If @@RowCount = 0 
insert into MyTable([Name])
values(@Name)

Теперь мне интересно, не повлияет ли на @@RowCount запрос, выполненный в триггере?Допустим, в моем триггере есть:

insert into MyLogs(Description) 
values("Some description...")

Если обновление выполнено в моем первом запросе, триггер запустит вставку в MyLogs, что повлияет на строки.

1 Ответ

15 голосов
/ 10 августа 2011

@@ROWCOUNT привязан к области текущего выполнения и поэтому не зависит от триггера, который будет работать в другой области.

...