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

if @@rowcount = 0 return


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

最佳答案

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

create table tr (i int);
go

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


update tr set i = 2


@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


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

关于sql - 在触发器中检查@@ rowcount = 0的目的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14374956/

10-16 22:55