no funciona rollback

05/12/2007 - 11:50 por reo | Informe spam
tengo un procedimiento que en todo momento se controla si ocurre un error
para hacer un rollback
¿puede ocurrir que por alguna causa se produzca un error y el @@error no lo
coja o bien el rollback
no desaga todo lo ocurrido dentro del begin tran?
y si es asi , ¿como puedo hacer para detectar dicho error?

mi procedimiento es de este estilo

create procedure Volcar()
as
set nocount on
begin transaction

insert into tabla1(ncampo)
select ncampo from tabla2
set @p_error=@@error
if @p_error<>0 then goto TRATAMIENTOERRORES

commit tran
goto FIN
TRATAMIENTOERRORES:
rollback tran
FIN:
set nocount off

muchas gracias
 

Leer las respuestas

#1 Germán Valdez
05/12/2007 - 13:22 | Informe spam
tal vez te convenga

SET XACT_ABORT { ON | OFF }



"reo" escribió en el mensaje
news:
tengo un procedimiento que en todo momento se controla si ocurre un error
para hacer un rollback
¿puede ocurrir que por alguna causa se produzca un error y el @@error no
lo coja o bien el rollback
no desaga todo lo ocurrido dentro del begin tran?
y si es asi , ¿como puedo hacer para detectar dicho error?

mi procedimiento es de este estilo

create procedure Volcar()
as
set nocount on
begin transaction

insert into tabla1(ncampo)
select ncampo from tabla2
set @p_error=@@error
if @p_error<>0 then goto TRATAMIENTOERRORES

commit tran
goto FIN
TRATAMIENTOERRORES:
rollback tran
FIN:
set nocount off

muchas gracias

Preguntas similares