Подавить транзакцию в хранимой процедуре

Я хочу знать, можно ли подавить транзакцию внутри хранимой процедуры SQL. У меня есть следующая ситуация в моем SP (которую я хочу достичь):

WHILE TRUE
BEGIN TRY
    BEGIN TRANSACTION A
    RECEIVE MESSAGE FROM SSB QUEUE WITH TIMEOUT

    BEGIN SUPPRESS TRANSACTION 
      WHILE RECORD IN TABLE
         BEGIN TRANSACTION B
           DELETE RECORD FROM TABLE OUTPUT RECORD INTO D
           SEND RECORD D TO OTHER SSB QUEUE
         COMMIT TRANSACTION B
    END SUPPRESS TRANSACTION
    COMMIT TRANSACTION A
END TRY
BEGIN CATCH
    ROLLBACK TRANSACTION A
END CATCH

поэтому я действительно хочу, чтобы транзакция B не была включена в транзакцию A :)

11
задан Drew 9 October 2013 в 02:54
поделиться