【问题标题】:How to execute new insert/update trigger on existing rows in SQL Server?如何在 SQL Server 中的现有行上执行新的插入/更新触发器?
【发布时间】:2012-09-04 14:40:10
【问题描述】:

我已将插入/更新触发器添加到已经有一些行的表中。 在现有行上执行新的插入/更新触发器的最简洁方法是什么?

(肮脏的想法是修改某些列并在事务中将其还原。或者临时添加一列以更改其数据。)

【问题讨论】:

  • 除非发生变化,否则触发器对现有行不起作用。

标签: sql sql-server triggers


【解决方案1】:

运行类似于触发器中的内容的更新语句,但不连接到 inserted。如果您在触发器中显示代码,我们可以更具体地为您提供帮助。

另外,如果您能解释为什么无更新更新仍不会触发触发器,那就太好了。如果您当前检查值的实际变化,您总是可以暂时更改触发器以不费心进行检查。

【讨论】:

  • 有多个更复杂的触发器。所以没有强制运行触发器的功能/解决方法吗? (没有更新似乎没有触发触发器。)
  • 如果您需要帮助,您需要发布更多详细信息。我们无法修复一个我们看不到并且“似乎没有触发”的触发器。
  • 感谢提示。我在触发器中发现了一个奇怪的条件,它检查了inserted 只有一行。所以,这就是为什么整个表上的 no-up 更新不起作用的原因:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-26
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 2015-11-26
  • 2011-05-22
  • 2015-05-22
相关资源
最近更新 更多