在sql server中不会多次触发触发器

时间:2015-08-19 11:56:56

标签: sql-server stored-procedures triggers

我的桌子上有一个触发器,它将在行的任何更新时触发。

我的桌子上有10行。

我正在更新存储过程中具有某些条件的所有行。

我已经看到我的触发器只被触发一次。

但我需要为每一行的每次更新运行触发器。

你可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

在触发器中,您有一个表 string[] xaxis=obj.x; string[] name=obj.yname; double[][] yaxis = obj.y; ,其表格与触发的表相同,您可以在其中找到所有插入/更新的10行。你可以这样做批处理。换句话说,您可以迭代此临时表进行单一处理。

答案 1 :(得分:0)

正如您要求的帮助'在这个问题上,我会试着指出一个可能更好的方向。您的问题表明您可能缺乏关于SQL的重要知识。为了补救,您应该阅读:

http://www.codeproject.com/Articles/34142/Understanding-Set-based-and-Procedural-approaches

与基于集合的方法相比,所有这些都与程序方法有关。对我来说看起来很有用。我突出这个摘录:

  

设计和优化数据库的内部执行引擎   采取"设置基础指令"作为输入(SQL)并执行这些   以最好的方式说明(根据很多方面的不同而有所不同)   标准)产生一个输出。这就是为什么"基于集合的方法"是   几乎总是更好的选择。

那就是说,我相信这不仅仅是关于性能,我相信你应该修改你的设计。

或者,仍然存在使用游标的情况。您能否更具体一点,并提供有关您的方案的更多信息?