2011-10-26 51 views
0

我有表1它正在更新并通过sp的插入数据。检测插入/更新是否来自另一个触发器?

更新是按行的每个Id(而不是批量更新) - 我的意思是 - Single update

此表具有触发器Tg1 - 它更新已更新的同一记录中的某些字段。 (在数据库更新纪录后 - TG1更新她的一些字段)

I DONT HAVE ACCESS to TG1 !. 

这个表有其他触发该香港专业教育学院建造TG2。 它通过SELECT * FROM DELETED ... and insert to table Archive...

问题存档原来插入的记录是TG2渔获alsoTG1的事件! (其插入到存档表3记录insted的1.

问:反正是有(在TG2)要知道,从行动来Tg1的(这样我就能够避免这些事件 - 因为我我怎样才能解决只需要这些来自我的SP的事件。)

?(我没有获得TG1 ...)

+0

你的第一个问题是,假设触发器shoujld永远不会被写入,只有一行将被插入/删除/更改。 – HLGEM

+0

@HLGEM,我该如何解决? –

+0

要回答这个问题,我必须看到触发器,但是,你不应该设置任何标量变量,而是使用基于集合的语句。并测试单个记录更新和多个记录的更新。 – HLGEM

回答

0

为什么你不希望最后存档记录,因为它存在于表中吗?

但是,您可以设置t严格的顺序在您的触发器上成为第一个使用 sp_settriggerorder。在图书在线查找如何做到这一点。

+0

非常感谢你,我将搜索订单部分。附: :备份到另一个表用于版本控制...他们每次都需要快照:'1年前转到 - 告诉我同一个记录看起来像什么样......“ –

相关问题