Ayuda con transaccion

22/11/2005 - 04:42 por Cesar | Informe spam
Hola amnigos, tengo un problema con transacciones

tengo este codigo

BEGIN TRAN

Select ..
Insert...
Update ...

IF @@ERROR <> 0
ROLLBACK TRAN
ELSE
COMMIT TRAN


Cuando se cae en el update , bueno no actualiza pero si inserta
que es lo que pasa si aqui si algo falla no deberia hacer nada, que estoy
haciendo mal?

Saludois

Cesar

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
22/11/2005 - 08:05 | Informe spam
La comprobación de @@ERROR la tienes que hacer después de cada
instrucción, no sólo al procesarse el UPDATE. Es decir, que tendría que ser
algo así:

BEGIN TRAN

Select ..
IF @@ERROR <> 0
GOTO MAL
Insert...
IF @@ERROR <> 0
GOTO MAL
Update ...
IF @@ERROR <> 0
GOTO MAL

OK:
COMMIT TRAN
RETURN 0

MAL:
ROLLBACK TRAN
RETURN -1


En la nueva versión ya tenemos el try...catch que nos hará el manejo de
errores más sencillo

Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Cesar" escribió en el mensaje
news:
Hola amnigos, tengo un problema con transacciones

tengo este codigo

BEGIN TRAN

Select ..
Insert...
Update ...

IF @@ERROR <> 0
ROLLBACK TRAN
ELSE
COMMIT TRAN


Cuando se cae en el update , bueno no actualiza pero si inserta
que es lo que pasa si aqui si algo falla no deberia hacer nada, que estoy
haciendo mal?

Saludois

Cesar


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