
12/05/2005, 09:46
|
 | | | 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!! |