早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->计算机三级 -->

在SQL Server 2008中,设某数据库中有商品表(商品号,商品名,进货价格),商品号为主码;销售表(商品

题目

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

参考答案
正确答案:
【解题思路】触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。触发器类似于约束,但比约束更加灵活,可以实施比FOREIGN KEY约束、CHECK约束更为复杂的检查和操作,具有更精细和强大的数据控制能力。触发器的创建格式:CREATE TRIGGER[schema_name.]trigger_nameON{tablelview}{FORlAFFERIINSTEAD OF}{[INSERT][,][UPDATE][,][DELETE]}AS{Sql_statement}[;]对应于本题中,触发事件为在销售表中插入前四列,条件为无条件执行,触发体动作为计算本次利润并插入表中。【参考答案】CREATE TRIGGER calcu_productAFTER INSERT ON销售表FOR EACH ROWAS BEGINDECLARE@PurchasePrise float/*对应商品的进价的参数*/SELECT@PurchasePrise=进货价格FROM商品表WHERE商品号=new.商品号UPDATE销售表SET本次利润=new.销售数量*(new.销售价格-@PurchasePrise)WHERE商品号=new.商品号AND销售时间=New.销售时间/*因为是行级触发器,所以可以使用更新后的新值,用new*/END
看了在SQL Server 200...的网友还看了以下:

两个互为相反数的有理数相除,其结果()A.商为正数B.商为负数C.商为-1或无意义D.商为1 其他 2020-05-14 …

为什么很少看见有夏商两朝的电视剧好像除了封神榜之外,没看见有什么夏朝,商朝的电视剧.为什么呢?是因 其他 2020-05-17 …

有两商场,为争取更多的顾客,分别进行了优惠销,在商场门口分别作如下广:甲商场广告:在优惠周有两商场 数学 2020-06-26 …

“商品——货币”被马克思称为“商品的惊险的跳跃。这个跳跃如果不成功,摔坏的不是商品,但一定是商品所 政治 2020-07-07 …

“商品——货币”被马克思称为“商品的惊险的跳跃。这个跳跃如果不成功,摔坏的不是商品,但一定是商品所 政治 2020-07-07 …

一个人的智商到底有多高?为什么一个很聪明的人的智商只有90几,而有的人的智商却达到100多?人的之 其他 2020-07-26 …

“商品——货币”被马克思称为“商品的惊险的跳跃。这个跳跃如果不成功,摔坏的不是商品,但一定是商品所有 政治 2020-11-22 …

“商品--货币”被马克思称为“商品的惊险的跳跃。这个跳跃如果不成功,摔坏的不是商品,但一定是商品所有 政治 2020-11-22 …

一个城市有210家百货商店,其中大型商店有20家,中型商店有40家,小型商店有150家,为了掌握各商 其他 2020-12-16 …

下列有关商品说法正确的是()①商品一定是劳动产品②劳动产品一定是商品③商品只能是有形物品,无形服务不 政治 2020-12-25 …