在SQL Server 2008中,设某数据库中有商品表(商品号,商品名,进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商品的单价。现要求每当在销售表中插入前4列数据时(假设一

admin2016-10-10  27

问题 在SQL Server 2008中,设某数据库中有商品表(商品号,商品名,进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商品的单价。现要求每当在销售表中插入前4列数据时(假设一次只插入一行数据),系统自动计算本次销售产生的利润,并将该利润赋给销售表的第5列“本次利润”。请编写实现上述功能的后触发型触发器代码。

选项

答案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)WHERE商品号=new.商品号AND销售时间=new.销售时间 /*因为是行级触发器,所以可以使用更新后的新值,用new*/ END

解析
转载请注明原文地址:https://kaotiyun.com/show/d6lZ777K
0

最新回复(0)