我有一个与在SQL Server中使用触发器相关的查询。
我在SQL Server中有一个MAIN表,它链接到MS Access前端。多个用户全天更新其中的几列,如Expected_date和User_Comment。我想知道我是否可以在MAIN表上使用触发器来更新USER_SUMMARY表,其基本上是用户的数量,其中包括有多少记录已更新日期,有多少没有日期等等:
所以我的问题是,每当记录中的列更新时,我都可以通过触发器调用存储过程吗?这比设置一个按钮从MS Access运行存储过程更新摘要表更好吗?我认为使用触发器会更加实时和简化。
请告知如何继续。
答案 0 :(得分:1)
我会避免触发,这将是一个开销。我不知道您使用的是哪个版本的sql server,但是如果它支持作业,我会在作业中调用该存储过程。此外,在存储过程中使用NOLOCK,因此它不会影响性能。
答案 1 :(得分:1)
使用VIEW是理想的解决方案。
由于需要特别小心,触发器更难以维护。
如果它需要太多计算并且减慢了服务器的速度,那么使用作业计算最新摘要是IMO的第二个最佳选择。
在Access中添加按钮以更新摘要不是一个好选择,因为许多用户可以同时按下按钮。