这更像是一个普遍的问题,但是这个问题的动机是我在使用SQL Server时遇到的一个问题。
我将此触发器附加到表上的Insert事件中,该事件包含一些逻辑,作为副作用,如果没有插入行,它将引发错误。经过进一步调查,我发现尽管没有插入行,但触发器仍在触发。
在DML触发器上的Microsoft文档中使用的语言似乎与以下行为矛盾:
DML触发器是一种特殊的存储过程,当发生DML事件而该事件会影响触发器中定义的表或视图时,它会自动生效。
这是DBMS的默认行为吗?没有行受到影响时,是否有特定的原因触发触发器?