Actualizacion de Stock con Dos Tablas

09/07/2004 - 00:44 por Dany Acosta | Informe spam
Amigos necesito actualizar los stocks de mi tabla productos contra mi
tabla Order_detalle mediante un Store Procedure y no tengo ni idea de
como realizarlo sin pasar por tablas temporales ... estas dos tablas de
ejemplo:
Tabla: Productos
Codigo Stock
01 12
02 10
03 9
10 4
Tabla: Order_Detail
Numero Codigo Cantidad
001 01 1
003 01 4
001 02 5

Necesito recorrer la tabla Order_detail para todos los que sean el
numero '001' y actualizar sus stock en la productos

Espero que me puedan ayudar con ese dilema...


Gracias
 

Leer las respuestas

#1 Maxi
09/07/2004 - 01:08 | Informe spam
Hola, veamos un ejemplo :

==
CREATE TABLE #ARTICULOS (ID INT, STOCK FLOAT)

CREATE TABLE #MOVIMIENTOS (ARTICULO_ID INT, FECHA DATETIME, TIPO CHAR(1),
CANTIDAD FLOAT)

INSERT INTO #ARTICULOS VALUES ('1',0)
INSERT INTO #ARTICULOS VALUES ('2',0)
INSERT INTO #ARTICULOS VALUES ('3',0)
INSERT INTO #ARTICULOS VALUES ('4',0)

INSERT INTO #MOVIMIENTOS VALUES ('1',GETDATE(),'E',100)
INSERT INTO #MOVIMIENTOS VALUES ('1',GETDATE(),'S',50)
INSERT INTO #MOVIMIENTOS VALUES ('1',GETDATE(),'E',10)
INSERT INTO #MOVIMIENTOS VALUES ('2',GETDATE(),'E',100)
INSERT INTO #MOVIMIENTOS VALUES ('3',GETDATE(),'E',100)
INSERT INTO #MOVIMIENTOS VALUES ('3',GETDATE(),'S',95)
INSERT INTO #MOVIMIENTOS VALUES ('4',GETDATE(),'E',100)

UPDATE #ARTICULOS SET STOCK = (SELECT SUM(CASE WHEN TIPO='E' THEN CANTIDAD
ELSE -CANTIDAD END)
FROM #MOVIMIENTOS WHERE #MOVIMIENTOS.ARTICULO_ID = #ARTICULOS.ID)
FROM #ARTICULOS,#MOVIMIENTOS

SELECT * FROM #ARTICULOS


SUERTE



Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Dany Acosta" escribió en el mensaje
news:
Amigos necesito actualizar los stocks de mi tabla productos contra mi
tabla Order_detalle mediante un Store Procedure y no tengo ni idea de
como realizarlo sin pasar por tablas temporales ... estas dos tablas de
ejemplo:
Tabla: Productos
Codigo Stock
01 12
02 10
03 9
10 4
Tabla: Order_Detail
Numero Codigo Cantidad
001 01 1
003 01 4
001 02 5

Necesito recorrer la tabla Order_detail para todos los que sean el
numero '001' y actualizar sus stock en la productos

Espero que me puedan ayudar con ese dilema...


Gracias





Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.714 / Virus Database: 470 - Release Date: 02/07/2004

Preguntas similares