在触发器中检查@@ rowcount = 0的目的是什么?

Ale*_*nko 3 sql sql-server triggers

我读了一本书,例如,Pro SQL Server 2008关系数据库设计和实现Lois Davidson,我发现了检查@@rowncount触发器内部的建议if it is = 0 then return:

if @@rowcount = 0 return
Run Code Online (Sandbox Code Playgroud)

我想知道是否修改了没有行如何触发触发器?

Rem*_*anu 5

触发器将触发正在运行的语句.即使表为空,或者语句不影响任何行,它也会触发:

create table tr (i int);
go

create trigger g on tr after update
as 
print 'foo'
go


update tr set i = 2
Run Code Online (Sandbox Code Playgroud)

@Muflix更新:

create table tr (i int);
go

create trigger g on tr after insert
as 
print 'foo'
go

insert into tr select * from tr;
go
Run Code Online (Sandbox Code Playgroud)

如您所见,即使没有插入行,触发器也会触发.