【问题标题】:How To Verify or Test If a Trigger was fired in SQL Server如何验证或测试是否在 SQL Server 中触发了触发器
【发布时间】:2014-06-05 05:39:20
【问题描述】:

我们在 SQL Server 中有一个触发器,它应该在 DML SQL 查询时触发,即当表中列的值被更新时。 有没有办法验证触发器确实被触发了? 我正在寻找一个 SQL 查询或一个记录任何触发的触发器的日志文件。

谢谢

【问题讨论】:

  • 好吧,我想您可以尝试检查事务日志文件,但我发现最简单的方法是简单地将时间戳列添加到仅由触发器设置的触发器更新的表中(或者可能如果怀疑触发器正在运行,甚至插入调试表)
  • 不,但是如果您要问这个问题,那么问题是触发器已经编写,假设 inserted 和/或 deleted 恰好包含一行,并且该假设无效,因此触发器无法正常工作。当然,你没有展示代码,但这是我的预测。

标签: sql-server triggers


【解决方案1】:

不,我不知道有这样的事情。

要测试触发器是否触发,您可以向触发器添加 PRINT 语句(例如“PRINT 'trigger failed!'”),然后执行应触发触发器的操作。如果您在管理工作室的消息选项卡中看到打印的文本,您就知道它被触发了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2016-04-28
    • 2011-10-23
    相关资源
    最近更新 更多