在SQL Server 2008中,设某数据库中有商品表(商品号,商品名,进货代价),商品号为主码;贩卖表(商品号,贩卖时间,贩卖数目,贩卖代价,本次利润),商品号和贩卖时间为主码,贩卖代价为本次贩卖商品的单价。现要求每当在贩卖表中插入前4列数据时(假设一次只插入一行数据),系统自动盘算本次贩卖产生的利润,并将该利润赋给贩卖表的第5列"本次利润"。请编写实现上述功能的后触发型触发器代码。(10分)
CREATE TRIGGER calcu_product AFTER INSERT ON 贩卖表
FOR EACH ROW
AS BEGIN
DECLARE @PurchasePrise float /*对应商品的进价的参数*/
SELECT @PurchasePrise=进货代价 FROM 商品表 WHERE 商品号=new.商品号
UPDATE 贩卖表 SET 本次利润=new.贩卖数目*(new.贩卖代价-@PurchasePrise <mailto:new.贩卖代价-@PurchasePrise>)
WHERE 商品号=new.商品号AND 贩卖时间=new.贩卖时间
/*由于是行级触发器,以是可以使用更新后的新值,用new*/
END