Проблема вложенного триггера - PullRequest
0 голосов
/ 30 июля 2011

Я работаю над решением, в котором sql-триггеры вызываются вложенным способом, позже я объясню проблему, позвольте мне сначала познакомить вас с таблицами.

  1. BillDetails
  2. SubProductAtLocation

Да, это erp, предназначенный для розничного магазина, таблица данных Bill состоит из строк bill Items

billDetails

  1. RowID
  2. BillID
  3. SubProductID
  4. MRP
  5. количество
  6. Налог
  7. Скидка

расположение субпродукта

  1. RowID
  2. SubproductID
  3. LocationID
  4. Количество
  5. ProductID

**now** Существует триггер, который запускается после вставки BillDetails, функция которого состоит в том, чтобы вычитать количество из SubProductAtLocation.триггеры после вставки, обновление в subproductAtLocation, который записывает журнал аудита.

**Problem** Я бы не хотел, чтобы запускались триггеры subproductAtLocation, если он вызывается из-за обновления, выполненного триггером billdetails, обычно я могу временно отключить триггеры или могу sp_configure 'nested triggers' n но не могу сделать это как sql server iМы делимся этим и не осуществим и не допустим.

**Possible Solution**

Если я могу сохранить какое-либо значение флага, которое проверяется с помощью триггеров subproductatLocation и может откатить транзакцию, если установлен флаг.Этот флаг можно убрать в последней строке триггера BillDetails.

Прошу прощения, мои плохие знания Спасибо

1 Ответ

0 голосов
/ 30 июля 2011

если вы поместите 'flag' во вторую таблицу, а затем установите его в 'special' значение только во время триггерной вставки, тогда у второго триггера будет просто проверка if, чтобы не записывать журнал, если это значение было установлено ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...