SQL Server-触发器会影响@@ Rowcount吗?

问题描述

@@ROWCOUNT 与当前执行的范围相关,因此不受触发器的影响,触发器将在其他范围内运行。

解决方法

我有一个查询,该查询会进行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运行插入操作,该操作将影响行。