我有一个表,其中一列是total_price,它存储了存储在另一个表中的项目的价格总和。我想知道如何在SQL中执行此操作。我希望总价格列自动计算价格总和并存储在其列中。换句话说,我需要一个总和所需值的列并默认存储它。
示例:
订单项表格包含数量,pid和总价格字段。
产品表有一个pid和价格字段。
订单项表中的总价格字段应存储(lineitem.quantity * product.price)值。
答案 0 :(得分:7)
使用此查询创建一个表,其中col3为col1和col2的总和:
CREATE TABLE [dbo].[Emp](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50),
[Price] [float] NULL,
[Qty] [float] NULL,
[total] AS ([Price]*[Qty])
) ON [PRIMARY]
答案 1 :(得分:2)
如果您需要存储它,您仍然可以创建一个触发器。
create trigger UpdateMyColumn before insert on [yourtable] for each row
begin set new.Col3 = Col1 * Col2;