Rollback tran

21/10/2005 - 01:30 por Daniel | Informe spam
Buen Dia.

Se me esta presentando el siguiente problema:

Tengo el sigueinet esenario:

Tengo un SP general (SP1), Otro SP que actualiza un tabla (SP2) y un tercer
SP que salva errores (SP3).

En el SP1 tiene la diguiente estructura
Begin tran
declare @error

EXEC @error = SP2

Si hay error
Return 1

Commit tran
Return 0
el SP2, tiene la siguiente estructura

Query X

Si hay error
EXEC SP3
Return 1

si no hay error
Return 0

el SP3, tiene la siguiente estructura

Rollback tran
Salvo el error en una tabla de errores

Pero a ejecutar el SP1 y el SP2 tiene error, me da el siguiente mensaje

Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK
TRANSACTION statement is missing. Previous count = 1, current count = 0.

Es decir que no reconoce el begin tran, que puedo hacer??

Gracias por su ayuda.

Preguntas similare

Leer las respuestas

#1 Maxi \(MVP SQL\)
21/10/2005 - 01:46 | Informe spam
Daniel, pero el sp3 no dispone de un begin tran


-
[MS-MVP SQL SERVER]

"Daniel" escribió en el mensaje
news:e1Zd$
Buen Dia.

Se me esta presentando el siguiente problema:

Tengo el sigueinet esenario:

Tengo un SP general (SP1), Otro SP que actualiza un tabla (SP2) y un
tercer SP que salva errores (SP3).

En el SP1 tiene la diguiente estructura
Begin tran
declare @error

EXEC @error = SP2

Si hay error
Return 1

Commit tran
Return 0
el SP2, tiene la siguiente estructura

Query X

Si hay error
EXEC SP3
Return 1

si no hay error
Return 0

el SP3, tiene la siguiente estructura

Rollback tran
Salvo el error en una tabla de errores

Pero a ejecutar el SP1 y el SP2 tiene error, me da el siguiente mensaje

Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK
TRANSACTION statement is missing. Previous count = 1, current count = 0.

Es decir que no reconoce el begin tran, que puedo hacer??

Gracias por su ayuda.






Respuesta Responder a este mensaje
#2 Mauro
21/10/2005 - 14:24 | Informe spam
el problema es que si hay un error y el sp3 ejecuta el rollback al volver al
sp1 se ejecuta lo mismo el commit y omo ya hiciste previamente un rollback
de dicha trasaccion lo desconoce.
o al menos eso entiendo.

"Maxi (MVP SQL)" wrote in message
news:
Daniel, pero el sp3 no dispone de un begin tran


-
[MS-MVP SQL SERVER]

"Daniel" escribió en el mensaje
news:e1Zd$
> Buen Dia.
>
> Se me esta presentando el siguiente problema:
>
> Tengo el sigueinet esenario:
>
> Tengo un SP general (SP1), Otro SP que actualiza un tabla (SP2) y un
> tercer SP que salva errores (SP3).
>
> En el SP1 tiene la diguiente estructura
> Begin tran
> declare @error
>
> EXEC @error = SP2
>
> Si hay error
> Return 1
>
> Commit tran
> Return 0
> el SP2, tiene la siguiente estructura
>
> Query X
>
> Si hay error
> EXEC SP3
> Return 1
>
> si no hay error
> Return 0
>
> el SP3, tiene la siguiente estructura
>
> Rollback tran
> Salvo el error en una tabla de errores
>
> Pero a ejecutar el SP1 y el SP2 tiene error, me da el siguiente mensaje
>
> Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK
> TRANSACTION statement is missing. Previous count = 1, current count = 0.
>
> Es decir que no reconoce el begin tran, que puedo hacer??
>
> Gracias por su ayuda.
>
>
>
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida