Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/10/2004, 11:50
pablosavino
 
Fecha de Ingreso: septiembre-2004
Mensajes: 72
Antigüedad: 19 años, 8 meses
Puntos: 0
Hola,

bueno, en realidad siempre lo deberia ser, de esta menra todo en tu sistema se basa en hacer transacciones, cosa que te da seguridad cuando haces por ej, una actualizacion masiva de datos o cualquier otra operacion:

Veamos algo simple:
que pasa si tu tienes que alctualizar los precios de 5000 articulos?, pues bien, tu irias uno por uno y cambiarias el precio , verdad?, ahora bien, que pasaria si en el articulo 4500 da un error?, esto significa que los articulos anteriores (del 1 al 4499) quedarian mal, porque la actualizacion fallo en el 4500 entonces todo se detiene pero lo que cambiaste quedo cambiado y eso no debe ser asi!!

Al usar transacciones, esto no pasa, porque si algo falla, el server no le aplica los cambios a NINGUN registro y todo quedaria como antes.

Ejemplo de transaccion:

begin tran

update articulos set precio=1500

if @@error<>0
begin
rollback tran >>>> aqui desasemos los cambios por hubo un error
raiserror 50000 'Error al actualizar precios' >>>Avisamos al usuario
return -1 >>>nos vamos del procedimiento que intento actualizar los precios
end


commit tran >>>> si todo fue bien, entonces recien aqui el server aplica los cambios.

Como veras, trabajar de forma transaccional te asegura la integridad de los datos y si algo sale mal, el server no aplica ningun cambio.

Este ejemplo se base para Servidores SqlServer, SyBase

Saludos
__________________
Pablo F. Savino
---------------

Para aficionados a la Simulacion Aerea Virtual ,
visiten:
http://www.cargovirtual.com