【发布时间】:2011-11-30 14:00:03
【问题描述】:
我是第一次写触发器,谁能帮我解决这个问题
实际上我想要完成的是,我创建了一个包含 5 列的数据库表。使用插入查询,我将值插入 2 列,我希望通过此插入,其他 3 列的值应自动填充。为此,我想创建一个触发器来计算时间和销售额的总和和平均值(分别在数据库表中定义的两列),即当我们输入时间和销售额时,也应该计算总和和平均值(分别用于时间和销售额)然后当我们选择表格时,它应该显示所有四个条目(时间、销售额、总和、平均值)。
现在我将触发器用作:
ALTER TRIGGER [dbo].[trgInsert] ON [dbo].[tblEvalutionData]
for insert
AS
BEGIN
insert into tblEvalutionData (AverageSales,TotalSales,TotalTime)
select avg(Sales) as AverageSales, sum(Sales) as TotalSales,sum(ElapsedTime)as TotalTime from inserted
END
当我写这个查询时
插入 tblName(time,sales) values(5,34) 并执行它,结果如下:
Time Sales SumSales AverageSales
5 34 null null
null null 34 34
6 14 null null
null null 48 24
我该如何解决这个问题?还是有其他方法可以做到这一点?
【问题讨论】: