01/10/2004, 11:50
|
| | Fecha de Ingreso: septiembre-2004
Mensajes: 72
Antigüedad: 20 años, 2 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 |