更新后的SQL Server触发2个表

时间:2014-12-15 09:37:46

标签: sql sql-server triggers

我有table1和table2

在table1中,我更新了一行,它启动了一个更新后的触发器,它更新了table2中的行,在table2中是在更新触发器之后,它计算了来自table1的总和。

问题是它使用table1中的旧值计算而不是更新的新值。

有没有解决方案可以看到talble1中的更新值能够在table2触发器中用它来计算?

我在table1上的触发器中找到了一个sloution,代码就像是table2中的更新行并做其他事情 现在它是做其他stuf并且作为最后一步更新table2中的行,现在它看到更新的行具有新值......

1 个答案:

答案 0 :(得分:0)

您可以尝试:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

甚至是NOLOCK查询提示,但要注意。这两种选择都会产生严重后果。您需要确保没有其他任何东西可以同时更新相同的数据,以便选择它。

有关详细信息,请参阅http://sqlblog.com/blogs/tamarick_hill/archive/2013/05/06/pros-cons-of-using-read-uncommitted-and-nolock.aspx

希望有所帮助