2009-09-25 11 views

Répondre

2

Je peux penser à deux approches. La première est lorsque l'enregistrement de la commande a déjà été insérée dans la base de données et que vous voulez simplement mettre à jour sa valeur prix total:

UPDATE Order 
Set TotalPrice = NumberOfItems * 
       (SELECT Price FROM Food WHERE Food.FoodId = Order.FoodId) 

Vous pouvez également saisir le prix d'un produit alimentaire lorsque vous insérez l'ordre dans la table de la base de données:

-- Given: @FoodId and @NumberOfItems have been passed to this 
-- stored procedure as parameters 
DECLARE @price DECIMAL(10, 2) -- or whatever your price is defined to be 

SELECT @price = Price 
FROM Food 
WHERE FoodId = @FoodId 

INSERT INTO ORDER(FoodId, NumberOfItems, TotalPrice) 
VALUES 
(@FoodId, @NumberOfItems, @NumberOfItems * @Price) 
Questions connexes