SQL Server 2005中的触发器问题

时间:2010-01-08 16:52:22

标签: c# sql-server triggers

我在SQL Server 2005中遇到触发器的问题,我已经创建了触发器,我测试了它手动插入行并且它以这种方式工作正常,但是我从ac#web应用程序和触发器调用存储过程不会被解雇,所以我从Web应用程序中插入相同的数据,删除该行并手动重新插入它,触发器再次以这种方式工作,但是当从Web应用程序从存储过程调用时不会。

有什么建议吗?

提前致谢。

阿尔伯特

2 个答案:

答案 0 :(得分:0)

一般来说,您应该避免使用嵌套触发器,如果​​您可以完全避免使用嵌套触发器,那么一定要这样做。它们很难调试,对其他开发人员来说“不可见”(这可能导致将来出现逻辑问题),并且可能导致负载下的性能问题。

请参阅此文章:Why use triggers in Microsoft SQL Server?

  

避免使用嵌套触发器默认情况下,如果触发器正在更改   其他表,声明了触发器   因为这些表没有被触发。该   “允许嵌套触发器”服务器选项   将数据库设置为相反   行为。触发器在a时嵌套   触发器执行一个动作   启动另一个触发器,可以   启动另一个触发器等等。   触发器最多可嵌套32个   水平。很难遵循   嵌套触发器的逻辑和它们   会影响表现。

答案 1 :(得分:0)

而不是触发器使用Web应用程序中的直接插入语句。这样,监控和调试会更容易。