Вот некоторый фрагмент кода хранимой процедуры
begin transaction
...
<Здесь идет длительный SQL оператор, допустим UPDATE>
set @error = @@error
if @error = 123
<выполнение действий по этому виду ошибки>
else
if @error = 456
<выполнение действий по этому виду ошибки>
if @error > 0
rollback transaction
else
commit transaction
если прервать выполнение процедуры на этапе выполнения <длительного оператора> то транзакция остается открыта
(это можно увидеть и в Query analyser'е)
Вопрос вот в чем:
Может можно каким либо образом указать чтобы при отмене(именно при отмене) выполнения процедуры, сервер автоматически откатывал открытую транзакцию?