1

我需要创建一个触发器,将两个表中的两个字段相乘,但我不知道该怎么做,所以让我们看看你是否可以帮助我。

两张桌子,

产品(产品名称、价格)

订单(product_name(外键),units_ordered)

我需要在表上添加另一个字段,即从产品中乘以价格的订单和从订单中乘以单位的订单,所以:total_price = price(来自产品)X units_ordered(来自订单)

在此先感谢,并为我糟糕的英语感到抱歉。问候

4

1 回答 1

0

你根本不需要触发器。而且您不需要为总价格添加另一列,因为它已经是多余的。

如果您想要他们的总价格,只需在记录投影期间进行。例子

SELECT  a.Product_Name,
        a.Price,
        b.units_ordered,
        a.Price * b.units_ordered AS TotalPrice 
FROM    Products a
        INNER JOIN Orders b
            ON a.Product_name = b.Product_name

或者你可以创建一个VIEW你的SELECT声明。例子,

CREATE VIEW ProductOrder
AS
SELECT  a.Product_Name,
        a.Price,
        b.units_ordered,
        a.Price * b.units_ordered AS TotalPrice 
FROM    Products a
        INNER JOIN Orders b
            ON a.Product_name = b.Product_name

并从视图中选择,

SELECT * FROM ProductOrder

但是,如果您真的想添加另一列,仍然不能使用触发器。UPDATE您只需要使用和连接两个表来更新该列的值。假设您的新列TotalPrice在表“订单”上被调用。

UPDATE  Orders a
        INNER JOIN Products b
            ON a.Product_name = b.Product_name
SET     a.TotalPrice = a.units_ordered * b.Price
于 2013-04-13T15:41:31.713 回答