我有一个查询,如果存在则执行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,这将影响行。
答案 0 :(得分:15)
@@ROWCOUNT
与当前执行的范围相关联,因此不受触发器的影响,触发器将在不同的范围内运行。