Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/05/2005, 08:05
wok
 
Fecha de Ingreso: abril-2005
Mensajes: 37
Antigüedad: 19 años, 10 meses
Puntos: 0
porque 2?
no hace falta, el manejo de errores de SQL Server es una porquería... lo que yo hago es esto.
inicia la transacción una sola vez.
con 2 transact supongo que queres decir que haces 2 operaciones, (update, insert, etc)

entonces seria:

BEGIN TRANSACTION

/* ACA ADENTRO HACE TODAS LAS OPERACIONES QUE QUIERAS, UPDATE,
INSERT, DELETE, PERO LUEGO DE CADA UNA DE ELLAS PONES ESTA LINEA

SELECT @LastError=@@ERROR
IF @LastError != 0 GOTO HANDLE_ERROR

Y LUEGO SIGUES HACIENDO LAS OTRAS OPERACIONES.
ENTONCES, SI ESA OPERACION SALIO MAL, VAS A HANDLE_ERROR Y HACES UN ROLLBACK O SEA, O SALE TODO BIEN, O NO HACE NADA*/


COMMIT TRAN
GOTO SALIR

HANDLE_ERROR:
ROLLBACK TRAN
SELECT @LastError
SALIR: