我读过一本书,例如Pro SQL Server 2008关系数据库的设计和实现Lois Davidson,在其中我发现建议检查触发器内的@@rowncount
:if 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/