Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/05/2005, 09:46
Avatar de Neuron_376
Neuron_376
 
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años, 1 mes
Puntos: 2
Hola

Si tienes razon en pensar que es malo tener muchas consultas, pero cuando son necesarias ni modo, las haces y listo. Pero mas malo es cuando tienes consultas que dependen de resultados de otras, no se que Base de Datos estas usando, pero te recomiendo buscar algo como TRANS, o un trigger, podrias hacer algo como:

BEGIN TRAN

delete from tabla1

if @@ERROR > 0
rollbacktran

update tabla2 set cont = cont + 1

if @@ERROR > 0
rollbacktran

COMMIT TRAN

La otra es con triggers:

create trigger ... sobre tabla 1, entonces lo programas para que automaticamente cuando se borre un registro actualize la tabla 2, entonces en todo tu codigo tu no te preocuparas por tabla 2, tu puedes hacer algo como:

delete from tabla1

Y por el trigger automaticamente se sumara uno a la tabla 2, sin que tu tengas que haces mas consultas.

Lo que aseguras con esos metodos, no siempre es mas velocidad, etc, pero si aseguras la integridad de tus datos, es decir, las consultas que deben correr juntas siempre sabes que realmente corrieron juntas...

Pero claro, te lo dejo como comentario, porque no se que base de datos estas usando, pero en cualquiera que sea debes buscar la forma de poder prevenir ese error de bases de datos.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com