un solo update en lugar de 3
Publicado por roberto (9 intervenciones) el 18/04/2017 18:14:56
Estimados amigos:
Soy novato en la programacion de SQL y pido su ayuda con la siguiente duda: dentro de un procedimiento almacenado tengo 2 grupos de 3 updates cada uno donde en cada uno de ellos es practicamente el mismo codigo excepto que en el primero calculo las ventas totales, en el segundo calculo las ventas para cuando el numero de cliente es mayor de 5000 (ventas al público en general) y en el tercer update calculo las ventas para cuando el numero de cliente es menor o igual a 5000 (ventas internas). Mi duda es la siguiente : Se puede hacer estos calculos en un solo update ? Razón de mi interés en hacer esto: He leido artículos donde se dice que debido a la naturaleza relacional de SQL se debe de tratar de evitar los ciclos o loops y este proceso almacenado tiene uno muy grande y tardado y estoy tratando de simplificarlo empezando por esto.
Voy a tratar de simplificar el codigo:
a)
b)
c)
Espero haber sido lo suficientemente claro en establecer mi duda.
Gracias de antemano por su atención.
Atentamente
Ing. Roberto Segoviano
León Gto. México
Soy novato en la programacion de SQL y pido su ayuda con la siguiente duda: dentro de un procedimiento almacenado tengo 2 grupos de 3 updates cada uno donde en cada uno de ellos es practicamente el mismo codigo excepto que en el primero calculo las ventas totales, en el segundo calculo las ventas para cuando el numero de cliente es mayor de 5000 (ventas al público en general) y en el tercer update calculo las ventas para cuando el numero de cliente es menor o igual a 5000 (ventas internas). Mi duda es la siguiente : Se puede hacer estos calculos en un solo update ? Razón de mi interés en hacer esto: He leido artículos donde se dice que debido a la naturaleza relacional de SQL se debe de tratar de evitar los ciclos o loops y este proceso almacenado tiene uno muy grande y tardado y estoy tratando de simplificarlo empezando por esto.
Voy a tratar de simplificar el codigo:
a)
1
2
3
4
UPDATE tabla_de_totales
SET ventas_totales
FROM tablas_desglosadas
WHERE condicion_de_fecha_y_tienda
b)
1
2
3
4
UPDATE tabla_de_totales
SET ventas_al_publico
FROM tablas_desglosadas
WHERE condicion_de_fecha_y_tienda AND ID_CLIENTE>5000
c)
1
2
3
4
UPDATE tabla_de_totales
SET ventas_internas
FROM tablas_desglosadas
WHERE condicion_de_fecha_y_tienda AND ID_CLIENTE>=5000
Espero haber sido lo suficientemente claro en establecer mi duda.
Gracias de antemano por su atención.
Atentamente
Ing. Roberto Segoviano
León Gto. México
Valora esta pregunta


0