Ver Mensaje Individual
  #3  
Antiguo 12-10-2005
Avatar de Xianto
Xianto Xianto is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nací en Neuquén (ARG), desde 2001 Spain
Posts: 151
Reputación: 20
Xianto Va por buen camino
Post

Buenas, el rollback solo te sirve para la transaccion activa, si en ella llamas a otro procedimiento el hara lo suyo sin intervenir en lo que haces en el primer proc.

Ejemplo:

Código:
proc1 
 
exec 'proc2 1,2,3,4'
 
begin transaccion pepe
insert into tabla (a,b,c,d)
values (1,2,3,4)
 
if @@error<>0
  rollback...
else
  commint....
Esto ha sido siempre asi, lo si puedes hacer es crear un tercer procedimiento, en el cual puedas volver atras lo que hizo el 2, ejemplo:

Código:
if @@error<>0
  begin
	rollback...
	exec 'proc3'
  end
else
  commint....
Donde el proc3 anularia lo que hizo el proc2...

Saludetes !!!
__________________
El diseño dira si tiene futuro...
Responder Con Cita