0
我是sql新手,如何根據其他變量的值自動設置一個變量的值。 我在食品表中有價格,在訂單表中,我想根據特定食品的訂單數來更改價格的總價值。根據sql表中另一個變量的值自動設置一個變量的值
我是sql新手,如何根據其他變量的值自動設置一個變量的值。 我在食品表中有價格,在訂單表中,我想根據特定食品的訂單數來更改價格的總價值。根據sql表中另一個變量的值自動設置一個變量的值
我可以想到兩種方法。其中第一個是當訂單記錄已經被插入到數據庫中,您只是想更新其總價值:
UPDATE Order
Set TotalPrice = NumberOfItems *
(SELECT Price FROM Food WHERE Food.FoodId = Order.FoodId)
或者,你可以抓住食品項目的價格,當你插入的順序到數據庫表中:
-- 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)