Ver Mensaje Individual
  #8 (permalink)  
Antiguo 05/02/2009, 10:48
Santi-Sfe
 
Fecha de Ingreso: febrero-2009
Mensajes: 9
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Consulta NOVATO MSSQL

Disculpen, molesto de nuevo para un consejo. Tema: begin, rollback y commit transaction. Supongamos que dentro de un bucle tengo sentencias que modifican columnas, los comandos de transaction conviene ubicarlos dentro del bucle identificando los errores en cada iteracion o fuera? Segun vengo leyendo, se trata todo como unidad es decir, si algo fracasa -> fracasa todo. Entonces, seria conveniente ubicar las transactions antes de inicializar el batch/script (es decir, antes del bucle en este ejemplo) y concluirlo o bien por llegar al final o bien por un error.
Ademas, si existieran errores y nosotros insertaramos filas iguales, despues tendriamos problemas con ubicar cuales filas tuvieron problemas y porque no se insertaron, como conclusion creo que la forma correcta es iniciar la transaccion al comienzo, ejecutar el bucle (o lo que fuere) y si esta todo bien hacer commit, de otra forma hacer rollback.