如何创建一个函数来减去另一个表字段?

时间:2014-12-07 11:23:36

标签: sql sql-server sql-server-2008

我有表项,其中包含“Quantity”字段。因此,当我出售一个或多个与任何给定ID相对应的商品时,我想减去刚刚卖给该ID的数量。

到目前为止,我已经尝试过这个:

CREATE FUNCTION fn_subtract (
      @QTY int,
      @Item_ID int
) 
RETURNS VOID

AS 
    UPDATE Items
    SET Quantity = (SELECT Quantity - @QTY 
                    FROM Items 
                    WHERE @Item_ID = Item_ID
                   )
    WHERE @Item_ID =Item_ID

但它会让我错误接近UPDATE关键字..我做错了什么?

1 个答案:

答案 0 :(得分:0)

那么,错误是什么?

功能不应该操纵。糟糕的风格。 SP是,但不是功能。

你不知道你可以将select和update组合成1吗?

更新项目SET QUantity = Quantity - @QTY WHERE ....

也会起作用并且更简单。