Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2011, 10:53
Makoynet
Usuario no validado
 
Fecha de Ingreso: marzo-2008
Ubicación: Morelia Mich. México
Mensajes: 37
Antigüedad: 16 años, 9 meses
Puntos: 0
Pregunta Transacciones en SQL Server 2000

Transacciones en SQL Server 2000

Hola amigos, tengo una duda acerca de cómo se ejecutan unas transacciones
Estoy haciendo mantenimiento a una aplicación y Hay un proceso al elaborar facturas que manda a llamar un procedimiento almacenado que a su vez manda a llamar a otros 2 dentro del mismo y uno de esos 2 manda a llamar a otro, mi pregunta es si el ROLLBACK se ejecutaría en caso de que el procedimiento proc1 el DELETE no se pudiera ejecutar correctamente , ¿se deshace el COMMIT del proc2 y del proc3?, ¿el rollback tran1 deshace el commit tran2 y commit tran3?
create procedure proc 1
begin tran1

exec proc2
exec proc3
UPDATE
INSERT
DELETE {DIGAMOS QUE AQUI HAY UN ERROR Y YA NO SE PUEDE CONTINUAR}
INSERT

if condicion
commit tran1
else
rollback tran1

create procedure proc 2
begin tran2

if condicion
commit tran2
else
rollback tran2


create procedure proc 3
begin tran3

exec proc4
.
if condicion
commit tran3
else
rollback tran3

create procedure proc 4
begin tran4

if condicion
commit tran4
else
rollback tran4


¿si se ejecuta el rollback de todas las transacciones o me tocara hacer un procedimiento almacenado con el contenido de todas las transacciones y meterlas a una sola transaccion?