首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设在SQL Server某数据库中有房屋及租赁表,表的定义如下: CREATE TABLE房屋表( 房屋号 char(10)PRIMARY KEY, 房屋地址 char(20)not null, 面积 int, 月租金 int) C
设在SQL Server某数据库中有房屋及租赁表,表的定义如下: CREATE TABLE房屋表( 房屋号 char(10)PRIMARY KEY, 房屋地址 char(20)not null, 面积 int, 月租金 int) C
admin
2020-05-25
318
问题
设在SQL Server某数据库中有房屋及租赁表,表的定义如下:
CREATE TABLE房屋表(
房屋号 char(10)PRIMARY KEY,
房屋地址 char(20)not null,
面积 int,
月租金 int)
CREATE TABLE租赁表(
房屋号 char(10),
租赁日期datetime,
租赁月数 int not null,
本次总租金 int,
PRIMARY KEY(房屋号,租赁日期),
FOREIGN KEY(房屋号)REFERENCES房屋表(房屋号))
现要创建一个具有如下功能的触发器:每当在租赁表中插入一行数据(房屋号,租赁日期,租赁月数)时,自动计算出该房屋的本次总租金。请补全下列代码。
CREATE TRIGGER tri ON【1】OR【2】
AS
【3】@x int--声明保存月租金的变量
SET@x=(SELECT月租金FROM房屋表WHERE房屋号=(SELECT房屋号FROM
【4】)
UPDATE租赁表SKT本次总租金=租赁月数*【5】
FROM租赁表as a JOIN【6】as b
on a.房屋号=b.房屋号
and a.租赁日期=b.租赁日期
选项
答案
【1】租赁表 【2】INSERT 【3】DECLARE 【4】INSERTED 【5】@x 【6】INSERTED
解析
从触发器的语法中可知,【1】处应该填写执行触发器的表,【2】处应该填写指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。从题目“CREATE TRIGGER tri ON【1】FOR【2】”可知,本题创建的触发器是是后触发器。该触发器的功能是“每当在租赁表中插入一行数据(房屋号,租赁日期,租赁月数)时,自动计算出该房屋的本次总租金”。本题是在租赁表上建立后触发器,需要执行的是插入语句。故可推导出【1】处应填写:租赁表,【2】处应填写:INSERT。
根据【3】空的注释语句可知,此处是声明保存月租金的变量,应该使用DECLARE关键字。故【3】处应填写:DECLARE。
使用INSERT。关键字对房屋表进行操作,因此影响的是INSERTED表的内容。故【4】处应填写:INSERTED。
根据【5】空的查询语句,此处应填写月租金变量“@x”:本次总租金=租赁月数 * 月租金。FROM租赁表as a JOIN【6】as b,执行过程需要将租赁表和INSERTED表连接,故【6】填写:INSERTED。
使用:FOR或AFTER选项定义的触发器为后触发器,即只有在引发触发器执行的语句中的操作都已成功执行,并且所有的约束检查也成功完成后,才执行触发器。而使用INSTEAD OF选项定义的触发器为前触发器。这种模式的触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代引发语句的操作。
在触发器语句中可以使用两个特殊的临时工作表:INSERTED表和DELETED表。这两个表是在用户自行数据的更改操作时,SQL Server自动创建和管理的。其中INSERTED表是用于存储INSERT和UPDATE语句所影响的行的副本。而DELETED表用于存储DELETE和UPDATED语句所影响的行的副本。
建立触发器语法是:
Create TRIGGER trigger_name
ON{table|view}
{
{{FOR|AFTER|INSTEAD OF} {[Insert][,][Update]}
AS
[{IF Updalte(column)
[{AND|or}Updalte(column)]
[…n]
|IF(COLUMNS_UpdateD(){bitwise_operator}updated_bitmask)
{comparison_operator}column_bitmask[…n]
} ]
sql_statement[…n]
}
}
其中:参数trigger_name是触发器的名称。触发器名称必须符合标识符规则,并且在数据库中必须唯一。可以选择是否指定触发器所有者名称。
table|view是在其上执行触发器的表或视图,有时称为触发器表或触发器视图。可以选择是否指定表或视图的所有者名称。
FOR或AFTER指定触发器只有在触发SQL语句中指定的所有操作都已成功执行后才激发。所有的引用级联操作和约束检查也必须成功完成后,才能执行此触发器。如果仅指定FOR关键字,则AFTER是默认设置。不能在视图上定义AFTER触发器。
INSTEAD OF指定执行触发器而不是执行触发SQL语句,从而替代触发语句的操作。在表或视图上,每个Insert、Update或Delete语句最多可以定义一个INSTEAD OF触发器。然而,可以在每个具有INSTEAD OF触发器的视图上定义视图。INSTEAD OF触发器不能在WITH CHECK OPTION的可更新视图上定义。如果向指定了WITH CHECK OPTION选项的可更新视图添加INSTEAD OF触发器,SQL Server将产生一个错误。用户必须用Alter VIEW删除该选项后才能定义INSTEADOF、触发器。
{[Delete][,][Insert][,][Update]}是指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。必须至少指定一个选项。在触发器定义中允许使用以任意顺序组合的这些关键字。如果指定的选项多于一个,需用逗号分隔这些选项。对于INSTEAD OF触发器,不允许在具有ON Delete级联操作引用关系的表上使用Delete选项。同样,也不允许在具有ON Update级联操作引用关系的表上使用update选项。
AS是触发器要执行的操作。
sql_statement是触发器的条件和操作。触发器条件指定其他准则,以确定Delete、Insert或Update语句是否导致执行触发器操作。
转载请注明原文地址:https://kaotiyun.com/show/EsID777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
当地政府为了安全管理,决定出资500万给收破烂的人建公寓。引起市民的不满,你怎么看?
根据给定材料用200字的篇幅概括和总结汤敏同志的先进事迹和先进思想。要求:准确、简明、有条理。(20分)根据给定材料所述汤敏同志的先进事迹和先进思想,以《××县公安局关于开展向汤敏同志学习,争做汤敏式人民警察活动的通知》为题,代拟一篇公文稿。要求:符合
某科研机构提出潮湿的沙子是古埃及人在沙漠中搬运巨大石块和雕像的关键。研究人员指出,古埃及人将沉重的石块放上滑橇后,先在滑橇前铺设一层潮湿的沙子,再牵引它们,这种搬运方式起到了意想不到的效果。在实验中,研究人员使用流变仪测试沙子的硬度,以证实需要多少牵引力才
如图所示,立方体上叠加圆柱体再打通一个圆柱孔,然后从任意面剖开,下面哪一项不可能是该立体的截面?
近年来,一些不负责任的网络谣言泛滥成灾,极大地______着社会成本,______着世道人心。______网络谣言,净化网络环境,已经成为包括广大网民、互联网企业和管理部门等在内的全社会的共识。填入画横线部分最恰当的一项是:
熊虫也叫水熊,是对缓步动物门生物的俗称,有记录的约有900余种,大多是世界性分布的。它们的体型极小,最小的只有50微米,而最大的则有1.4毫米,必须用显微镜才能看清。水熊虫是地球上已知生命力最强的生物,能在冷冻、水煮、风干的状态下存活,甚至能在真空中或者放
表中所列城市2006年空气质量达到及好于二级的天数占全年的比重最高是( )下列关于表中所列城市2006年空气质量的说法不正确的是( )
2006年全国A股成交金额比2005年增长( )下列关于2000~2006年全国股票交易情况的说法不正确的是( )
古人对于我国姓氏的来历有如下阐述“氏于国,则齐鲁秦吴;氏于谥,则文武成宜;氏于事,则乙匠淘……”由此可以推断,王、侯、公孙等姓氏应源自()。
A县环保局在环境执法中,发现B企业存在私自排放污染物的行为,经过其上级环保行政主管部门C市环保局的批准,决定对B企业罚款10万元,罚款单盖上A县环保局的公章。B企业对此行政处罚不服,为此,B企业提起行政诉讼。被告是()。
随机试题
调节“彩超”中的速度标尺及滤波范围,下列哪项是错误的
班组进行经济核算的一个重要内容是()。
是思维的起点,是组成判断和推理的基本要素。()
通过面状布孔灌浆,改善岩基的力学性能,减少基础的变形,以减少基础开挖深度的一种灌浆方法:是()。
某酒业公司(增值税一般纳税人)2020年1月向某农场购买酿酒用小麦1000千克,支付价款20000元,当月生产领用完毕。根据规定,该酒业公司准予抵扣的进项税额为()元。
______是经济资源在地区、部门和各个方面的分配。
甲为上厕所,将不满1岁的女儿放在外边靠着篱笆站立,刚进入厕所,就听到女儿的哭声,急忙出来,发现女儿倒地,疑是站在女儿身边的4岁男孩乙所为。甲一手扶起自己的女儿,一手用力推乙,导致乙倒地,头部刚好碰在一块石头上,流出鲜血,并一动不动。甲认为乙可能死了,就将其
Whatdoyouthinkoftheword-associationtestsasdiscussedinPassage3?
如图7—10所示,在一个正六边形的6个区域栽种观赏植物,求同一块中种同一种植物,相邻的两块种不同的植物.现有4种不同的植物可供选择,则有()种栽种方案.
A、GeorgeWashington.B、ThomasJefferson.C、JamesMadison.D、AbrahamLincoln.C细节辨别题对话中提到几位总统的名字,但是白宫被烧时在位的总统是JamesMadison。
最新回复
(
0
)