首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
在SQL Server 2008中,设某数据库中有商品表(商品号,商品名,进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商品的单价。现要求每当在销售表中插入前4列数据时(假设一
在SQL Server 2008中,设某数据库中有商品表(商品号,商品名,进货价格),商品号为主码;销售表(商品号,销售时间,销售数量,销售价格,本次利润),商品号和销售时间为主码,销售价格为本次销售商品的单价。现要求每当在销售表中插入前4列数据时(假设一
admin
2018-06-19
80
问题
在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.销售价格—@Purchase-Prise)wHERE商品号=new.商品号AND销售时间=new.销售时间 /术因为是行级触发器,所以可以使用更新后的新值,用new*/ END
解析
触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。触发器类似于约束,但比约束更加灵活,可以实施比FOREIGN KEY约束、CHECK约束更为复杂的检查和操作,具有更精细和强大的数据控制能力。
触发器的创建格式:
CREATE TRIGGER[schema_name.]trigger_name
ON{table|view}
{FOR|AFTER|INSTEAD OF}
{[INSERT][,][UPDATE][,][DELETE]}
AS{Sql_statement}
[;]
对应于本题中,触发事件为在销售表中插入前四列,条件为无条件执行,触发体动作为计算本次利润并插入表中。
转载请注明原文地址:https://www.kaotiyun.com/show/QHlZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
操作系统限制程序的访问,不允许程序访问其授权区域之外的目标,这种技术属于哪种隔离方式?()
MS_SQLSERVER数据库系统的核心是【】。
数据模型通常有数据结构、数据操作和【】3个要素组成。
Oracle数据库管理系统的Internet解决方案的产品是OracleWebServer,下面列出的条目中,哪一个不属于该产品?
数据库管理系统中的数据操纵语言(DML)所实现的操作一般包括
下列若干说法中,哪一个是正确的? Ⅰ.FowerBuilder是一种数据库应用开发工具 Ⅱ.S-Designer(现为PowerDesigner)是一种数据库分析设计工具 Ⅲ.在VisualFoxPro中,一个数据库实质上就是一个二维表
MS-SQLSERVER数据库系统的核心是
在关系数据库规范化理论的研究中,在函数依赖的范畴内,______达到了最高的规范化程度。
在关系数据库规范化理论的研究中,在函数依赖的范畴内,______达到了最高的规范化程度。
随机试题
A、WhetherthedentistteachesattheUniversitywilldecide.B、Whetherthepatientcallsearlyinthemorning.C、Whetheritisa
各型Cushing综合征共有的特征是
火为木之( )。水为木之( )。
不是施工进度管理所使用的工具的是:
人民法院作出生效的法律文书,由( )执行。
定额税率的重要特点是( )。
已知某企业目标资本结构中长期债务的比重为20%,债务资金的增加额在0~10000元范围内,其利率维持6%不变。该企业与此对应的筹资总额分界点为( )元。
下列表述正确的是()。
[*]
在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过______。
最新回复
(
0
)