2011-07-30 108 views
0

我正在研究一种解决方案,它以嵌套的方式调用sql触发器,稍后我会解释问题,首先让我先介绍表格。嵌套触发器问题

  1. BillDetails
  2. SubProductAtLocation

没错,这是一款专为零售商店的ERP,比尔详细信息表由行票据项目

billDetails

  1. RowID
  2. BILLID
  3. SubProductID
  4. MRP
  5. 折扣

subproductLocation

  1. ROWID
  2. SubproductID
  3. LocationID
  4. 数量
  5. 的ProductID

**now**有其BillDetails插入后运行的触发器,其功能是从SubProductAtLocation扣除量,进一步有后插入,更新触发在编写Auditing日志的subproductAtLocation中。

**Problem**我不想subproductAtLocation触发如果运行其称为由于更新通过billdetails进行触发,平时我可以暂时禁用触发器或可以sp_configure 'nested triggers' n,但不能这样做,因为SQL服务器是共享的,这种操作也不可行既不允许的。

**Possible Solution** 

如果我可以存储的标志值,其中一些是检查由subproductatLocation触发器,如果​​标志设置可以回滚事务。该标志可以在BillDetails触发器的最后一行中清除。

请原谅我的知识贫乏 感谢

回答

0

如果你把“标志”第二个表,然后设置为仅在触发插入一个“特殊”的值,那么第二个触发只会有一个如果检查不写日志,如果该值设置...

+0

有意义,可能是一个字段。 –