根据另一个变量自动设置一个变量的值';sql表中的s值

根据另一个变量自动设置一个变量的值';sql表中的s值,sql,sql-server,stored-procedures,datatable,Sql,Sql Server,Stored Procedures,Datatable,我是sql新手,如何根据另一个变量的值自动设置一个变量的值。 我有食品价格表,在订单表中,我想根据特定食品的订单数量改变价格的总值 我可以想出两种方法。第一种情况是,订单记录已插入数据库,您只需更新其总价: UPDATE Order Set TotalPrice = NumberOfItems * (SELECT Price FROM Food WHERE Food.FoodId = Order.FoodId) 或者,您可以在将订单插入数据库表时获取食品的价

我是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)