首页 > 解决方案 > 我如何确定何时可以将 @@ROWCOUNT(或 ROWCOUNT_BIG())值单独归因于单个 DML 操作?

问题描述

下面是一个学术问题。

如果我理解正确,@@ROWCOUNT(和ROWCOUNT_BIG())系统变量总结了受 MERGE 语句影响的所有行(所有 INSERTed、UPDATEd 和 DELETEd 行,如果在语句中指定这些操作),所以我想知道是否有可能确定受此语句影响的行数何时可以仅归因于对象上的 DML 触发器中的特定操作(INSERT、UPDATE 或 DELETE)?

如果我想记录插入到表中的行数,比如说,是否可以通过一些 T-SQL 逻辑安全地使用 @@ROWCOUNT 而不必担心我可能会计算 UPDATEd 和/或 DELETEd 行?

我知道我可以通过 INSERT 触发器计算插入的表中的行数,但我认为如果我知道只有行被插入,并且没有被删除或更新,那么使用系统变量会更有效。

标签: sql-servertsql

解决方案


推荐阅读