1

我正在使用 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())

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

4

1 回答 1

0

您可能只需要[]在列名周围放置以避免混淆 Management Studio。

这对我有用:

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
于 2013-11-04T19:44:04.790 回答