Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/12/2005, 14:57
Avatar de Mithrandir
Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 8 meses
Puntos: 25
No entiendo prácticamente nada del enredo que aparece, pero la idea básica es usar una transacción con un commit o un rollback para terminar.

Solo necesitas lidiar con los posibles errores entre operaciones con su rollback correspondiente. La versión "quick n' dirty" es algo así:
Código:
BEGIN TRAN

insert into tabla1 (registro1,registro2,registro3)
values (dato1,dato2,dato3)
IF @@Error <> 0 ROLLBACK TRAN

insert into tabla2 (registro1,registro2,registro3)
values (dato1,dato2,dato3)
IF @@Error <> 0 ROLLBACK TRAN

insert into tabla3 (registro1,registro2,registro3)
values (dato1,dato2,dato3)
IF @@Error <> 0 ROLLBACK TRAN

COMMIT TRAN
PD. Si tu código está indentado y además lo metes en unos tags [ code ][ /code ] (sin los espacios) se digerirá mucho mejor.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche