18

我有一个查询,如果存在则执行 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。

4

1 回答 1

17

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

于 2011-08-10T02:43:46.247 回答