根据 SQL 中其他列中的信息计算总价



我正在使用SQL Management Studio创建一个数据库。我有一个名为 Items 的表,其中包含以下列:

ID    Product Name  Original Price     Discount Price   Shipping Price   Tax  Total Price

目前,我只是添加任意的产品名称和原始价格。我想做的是让我的"总价"列执行类似于Excel的操作,其中给定原始价格,折扣价,运费和税金,我可以在"总价"中创建一个公式,以便在任何其他价格发生变化时,总价将自动计算。我不知道该怎么做,但我尝试创建一个函数,然后在我的 INSERT VALUES 语句中调用该函数:

CREATE FUNCTION dbo.CalculateTotal()
RETURNS money;
AS
BEGIN
DECLARE @totalPrice int;
SELECT @totalPrice = ((Original Price - Discount Price) + Shipping Price) + tax
FROM dbo.Items
Return @totalPrice
END

然后我插入了方法:

  INSERT INTO dbo.Items VALUES('00000', 'Laptop', $200.00, $20.00, $4.99, $5.49,   dbo.CalculateTotal())

但是,这并没有奏效。我用于所有价格的数据类型是货币数据类型。如何计算总价?提前谢谢。

您可能只需要在列名称周围放置[],以避免混淆管理工作室。

这对我有用:

CREATE FUNCTION dbo.CalculateTotal()
RETURNS money
AS
BEGIN
    DECLARE @totalPrice int;
    SELECT @totalPrice = (([Original Price] - [Discount Price]) + [Shipping Price]) + tax
    FROM dbo.Items
    Return @totalPrice
END

最新更新