2015-06-12 2 views
1

пытается запустить несколько хранимых процедур в 1 транзакции. Если кому-то не удается выполнить идентификацию, нужно отбросить все изменения назад. Проблема заключается не в том, чтобы выполнить первый, требования к внешнему ключу не выполняются для второго, потому что он использует идентификатор 1-го.Несколько хранимых процедур в 1 транзакции с внешним ключом

Есть ли способ сделать эту работу?

спасибо.

+0

Есть ли вложенные SP внутри другого? Верный? – Galma88

+0

В настоящий момент это не так. Будет ли это работать, если он будет вложен? – Dylan

+0

Если вы правильно их управляете, вы можете. Но вы тоже можете так. – Galma88

ответ

0

выполнить следующие шаги:

1) Управление вашей процедуры по сделке: BEGIN TRANSACTION (я полагаю, вы просто сделать это)

2) Управление ошибки, и если один из них идет по ошибке вам нужно только ROLLBACK TRANSACTION. Вы можете вставить TRY'N'CATCH и сделать ROLLBACK в заявлении catch.

Дания: