Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/06/2007, 16:10
Avatar de Developer9
Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 2 meses
Puntos: 47
Re: Sobre transacciones

Probé algo sencillo, al hacer dos begin tran y luego un rollback y un commit

begin tran
begin tran
rollback tran
commit tran

me sale el error The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.
En el commit

La cosa es que por ejemplo yo hago un procedimiento con su respectivo begin y commit, digamos Ingresar Factura

Luego desde otro módulo me dicen que necesitan en su proceso ingresar varias facturas, que les de el nombre del proc al que tienen que llamar y una descripción de los parámetros. Entonces ellos usan mi procedimiento.

Entonces ellos hacen un procedimiento en el que hacen inserts en sus tablas y también llaman a mi procedimiento. Por lo que en su procedimiento crean una transaccion y cuando llaman al mio se crea otra transacción, pero el begin tran de mi procedimiento es algo que yo no puedo quitar porque yo también lo utilizo independientemente

Lo que toca hacer antes de hacer el commit final es hacer un select @@trancount y verificar si es mayor a cero. Si es así entonces hacer commit, rollback o lo que tocara en el caso

Yo pensaba que al hacer un rollback se le hace solo a una transacción, no a todas las transacciones