una transacción en un SP queda abierta---

09/03/2005 - 14:10 por Hernán Castelo | Informe spam
hola
me preocupa lo siguiente
uds me dirán si está bien o mal
el tema es que ante un error
la transacción queda abierta @@trancount = 1

BEGIN TRAN

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

COMMIT TRAN


atte,
Hernán

Preguntas similare

Leer las respuestas

#1 Maxi
09/03/2005 - 14:13 | Informe spam
Hola, cuando haces el rollback no queda mas abierta la transaccion, no
entiendo porque dices que queda abierta


Salu2
Maxi


"Hernán Castelo" escribió en el mensaje
news:u1%
hola
me preocupa lo siguiente
uds me dirán si está bien o mal
el tema es que ante un error
la transacción queda abierta @@trancount = 1

BEGIN TRAN

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

COMMIT TRAN


atte,
Hernán


Respuesta Responder a este mensaje
#2 Tinoco
09/03/2005 - 14:19 | Informe spam
Hola Hernan, segun el Script que escribes me parece que todo esta bien, no
existe la posibilidad de que la transaccion quede abierta, pare eso estan los
Rollback y el Commit. Revisa las transacciones antes de ejetutar el Script o
el problema puede estar en el App Cliente.

Tinoco.

"Hernán Castelo" wrote:

hola
me preocupa lo siguiente
uds me dirán si está bien o mal
el tema es que ante un error
la transacción queda abierta @@trancount = 1

BEGIN TRAN

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

COMMIT TRAN


atte,
Hernán



Respuesta Responder a este mensaje
#3 Alejandro Mesa
09/03/2005 - 14:31 | Informe spam
Hernán,

En el caso de un error durante la sentencia COMMIT, pues si, la transaccion
quedara abierta, debes chequear @@error despues del COMMIT. Otra forma de
controlar esto es que guardes el valor de @@TRANSCOUNT antes de llamar al
procedimiento y compruebes que durante la llamada no hubo error y que el
valor de @@TRANSCOUNT es el mismo que habia antes de llamarlo.


AMB


"Hernán Castelo" wrote:

hola
me preocupa lo siguiente
uds me dirán si está bien o mal
el tema es que ante un error
la transacción queda abierta @@trancount = 1

BEGIN TRAN

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

COMMIT TRAN


atte,
Hernán



Respuesta Responder a este mensaje
#4 Alejandro Mesa
09/03/2005 - 14:39 | Informe spam
Olvide decir que si los valores de @@TRANSCOUNT antes y despues de la llamada
del procedimiento no son los mismos, entonces hubo un error grande que
provoco la terminacion del batch sin pasar por manejo de errores y por ende
deberiamos haver un ROLLBACK.


AMB

"Hernán Castelo" wrote:

hola
me preocupa lo siguiente
uds me dirán si está bien o mal
el tema es que ante un error
la transacción queda abierta @@trancount = 1

BEGIN TRAN

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

insert

if @@error> 0
begin
ROLLBACK TRAN
return
end

COMMIT TRAN


atte,
Hernán



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