触发器是根据什么触发的

这是我犯的一个错误。

昨天被人问到,如果编写了一个Delete触发器,那么如果删除1行和删除100行的行为是否有不一样呢?

我回答是不一样,删除100行的话,触发100次。回答之后马上意识到这可能是有问题的,回来验证一下之后,证实是发生1次。

所以,触发器并不是基于行的,而是基于操作的。

在触发器中,如何得到当前操作所影响的行数呢?通过@@rowcount这个系统变量

要得到当前插入的所有行的数据,可以读取INSERTED这个表,要得到当前删除的所有行的数据,可以读取DELETED这个表。

posted @ 2009-01-01 13:50  陈希章  阅读(589)  评论(0编辑  收藏  举报