Update masivo de una tabla

29/12/2006 - 16:31 por Masta | Informe spam
Hola a todos.. Mi duda es concreta, estoy empezando en SQL Server y me
he atascado con lo siguiente:

Tengo una tabla de Pedidos y otra con Lineas de Pedido ya con registros
ambas.

Pedidos
-IDPedido
-PrecioPedido

LineasPedido
-IDPedido
-Cantidad
-Precio

El campo "PrecioPedido" lo acabo de crear, y en él quiero indicar el
Cantidad*Precio de la tabla "LineasPedido".

¿Qué stored procedure hago para que al lanzarlo me actualice el campo
"PrecioPedido" de todos los pedidos ya existentes?

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Victor Koch
29/12/2006 - 16:44 | Informe spam
Hola Masta,

UPDATE Pedidos SET Pedidos.PrecioPedido=ROUND(LineasPedido.Cantidad *
LineasPedido.Precio,2) FROM Pedidos,LineasPedido WHERE Pedidos.IDPedido LineasPedido.IDPedido

Un saludo, Víctor Koch.


"Masta" escribió en el mensaje
news:
Hola a todos.. Mi duda es concreta, estoy empezando en SQL Server y me
he atascado con lo siguiente:

Tengo una tabla de Pedidos y otra con Lineas de Pedido ya con registros
ambas.

Pedidos
-IDPedido
-PrecioPedido

LineasPedido
-IDPedido
-Cantidad
-Precio

El campo "PrecioPedido" lo acabo de crear, y en él quiero indicar el
Cantidad*Precio de la tabla "LineasPedido".

¿Qué stored procedure hago para que al lanzarlo me actualice el campo
"PrecioPedido" de todos los pedidos ya existentes?

Muchas gracias
Respuesta Responder a este mensaje
#2 Masta
29/12/2006 - 16:56 | Informe spam
Me acabo de dar cuenta que estaba ofuscadísimo :D

Muchas gracias Víctor..


Victor Koch (arroba punto punto punto) ha escrito:

Hola Masta,

UPDATE Pedidos SET Pedidos.PrecioPedido=ROUND(LineasPedido.Cantidad *
LineasPedido.Precio,2) FROM Pedidos,LineasPedido WHERE Pedidos.IDPedido > LineasPedido.IDPedido

Un saludo, Víctor Koch.
Respuesta Responder a este mensaje
#3 Isaias
29/12/2006 - 20:44 | Informe spam
Victor Koch, te indica como ACTUALIZAR tu campo, ¿ya intentaste que este
campo sea CALCULADO?


Saludos
IIslas


"Masta" wrote:

Hola a todos.. Mi duda es concreta, estoy empezando en SQL Server y me
he atascado con lo siguiente:

Tengo una tabla de Pedidos y otra con Lineas de Pedido ya con registros
ambas.

Pedidos
-IDPedido
-PrecioPedido

LineasPedido
-IDPedido
-Cantidad
-Precio

El campo "PrecioPedido" lo acabo de crear, y en él quiero indicar el
Cantidad*Precio de la tabla "LineasPedido".

¿Qué stored procedure hago para que al lanzarlo me actualice el campo
"PrecioPedido" de todos los pedidos ya existentes?

Muchas gracias


Respuesta Responder a este mensaje
#4 Masta
24/01/2007 - 12:33 | Informe spam
Saludos de nuevo.. Reabro el tema porque he caído en la cuenta de que
la consulta que Victor Koch me propuso no es correcta.

UPDATE Pedidos SET Pedidos.PrecioPedido=ROUND(LineasPedido.Cantidad *
LineasPedido.Precio,2) FROM Pedidos,LineasPedido WHERE Pedidos.IDPedido
LineasPedido.IDPedido

En los casos en los que hay más de una línea de pedido, la consulta
devuelve el valor sólo de la primera linea.

Estuve intentando ponerle un SUM(ROUND(LineasPedido.Cantidad *
LineasPedido.Precio,2)), pero no me deja al ser una función de
agregado en un UPDATE.

¿Alguna idea?

Muchas gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida