【问题标题】:automatically set the value of one variable depending on another variable's value in sql table根据sql表中另一个变量的值自动设置一个变量的值
【发布时间】:2010-12-01 13:47:35
【问题描述】:

我是 sql 新手,如何根据其他变量的值自动设置一个变量的值。 我在食品表中有价格,在订单表中我想根据特定食品的订单数量更改价格的总值。

【问题讨论】:

    标签: sql sql-server stored-procedures datatable


    【解决方案1】:

    我可以想到两种方法。第一种是订单记录已经插入数据库,而您只想更新其总价:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多