25/05/2011, 10:53
|
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 | |
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? |