在SQL Server 2008中,假设我有一个带有视图和INSTEAD OF
触发器的表。
当我插入或更新时,触发器内部是否有办法确定用于调用触发器的 SQL 查询?
例如,如果我执行以下操作:
UPDATE MyView SET Address = '123 Main St'
触发器内部有没有办法获取使用的实际SQL查询,即
UPDATE MyView SET Address = '123 Main St'
我希望这是有道理的。
谢谢。
不,触发器不是由该语句调用的 - 触发器是从 RDBMS 触发的,因为它定义的条件(INSERT
、UPDATE
或DELETE
(已经发生。
触发器与实际语句完全异步,不,无法获取导致触发器触发的 T-SQL 查询。您可以依靠的只是触发器内可用的Inserted
和Deleted
伪表,它们告诉您插入、删除、更新了哪些行。