Как я могу выполнить SP и в зависимости от его результата выполнить другой запрос, который в случае неудачи должен вернуть назад то, что сделал SP? - PullRequest
2 голосов
/ 05 января 2010

Я думаю, что это основной вопрос SQL ... извините .. нова ...: -)

Я хочу выполнить SP, внутри которого

{

Я хочу выполнить SP (используя EXEC), и в зависимости от его результата я хочу выполнить другой запрос (INSERT), который в случае сбоя по какой-либо причине должен вернуть назад то, что сделал SP?

}

Как я могу это сделать?

Сделки? Если да, то как?

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ, ЧТО ВНУТРЕННИЙ ОТПРАВЛЯЕТ ПОЧТУ.

1 Ответ

4 голосов
/ 05 января 2010

Примерно так:

BEGIN TRAN

DECLARE @rc int

EXEC @rc = EXEC inner_proc

IF (@rc = 1)
   INSERT something

IF @@ERROR <> 0
    ROLLBACK
ELSE
    COMMIT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...