首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
设在SQL Server某数据库中有房屋出租表,表的定义如下: CREATE TABLE 租表( 房屋号 char(10), 出租日期 datetime, 租期 int not null,--月数 到期日期 datet
设在SQL Server某数据库中有房屋出租表,表的定义如下: CREATE TABLE 租表( 房屋号 char(10), 出租日期 datetime, 租期 int not null,--月数 到期日期 datet
admin
2020-05-25
675
问题
设在SQL Server某数据库中有房屋出租表,表的定义如下:
CREATE TABLE 租表(
房屋号 char(10),
出租日期 datetime,
租期 int not null,--月数
到期日期 datetime,
PRIMARY KEY(房屋号,出租日期))
现要创建一个具有如下功能的触发器:每当在出租表中插入一行数据(房屋号,出租日期,租期)时,自动计算出本行数据的“到期日期”。请补全下列代码。
CREATE TRIGGER tri ON【1】FOR INSERT
AS
【2】出租表SET到期日期=dateadd(【3】,租期,出租日期)
WHERE房屋号=(SELECT房屋号FROM【4】)
and【5】
选项
答案
【1】出租表 【2】UPDATE 【3】MONTH 【4】INSERTED 【5】出租日期=(SELECT出租日期FROM INSERTED)或(SELECT出租日期FROM IN SERTED)=出租日期
解析
从触发器的语法中可知,【1】处应该填写执行触发器的表,【2】处应该填写指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。从题目“FOR INSERT”可知,本题创建的触发器是是后触发器。该触发器的功能是“每当在出租表中插入一行数据(房屋号,出租日期,租期)时,自动计算出本行数据的“到期日期”。本题是在出租表上建立后触发器,需要执行的是更新语句。故可推导出【1】处应填写:出租表,【2】处应填写:UPDATE。
本题要求的是更新出租表中的到期日期。更新语句采用UPDATE关键字,其语法格式为:UPDATE表名SET语句,语句为计算到期日期,租期以月计算,故【3】处应填写:MONTH。
本题使用INSERT和UPDATE关键字对出租表进行操作,因此影响的是INSERTED表的内容。故【4】处应填写:INSERTED。
本题要求的是更新出租表中的到期日期,所以查询时,要筛选出满足条件的房屋号与出租日期,故【5】处应填写:出租日期=(SELECT出租日期FROM INSERTED)或(SELECT出租日期FROM 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}Update(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或Updalte语句是否导致执行触发器操作。
转载请注明原文地址:https://www.kaotiyun.com/show/3zID777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
根据给定材料用200字的篇幅概括和总结汤敏同志的先进事迹和先进思想。要求:准确、简明、有条理。(20分)根据给定材料所述汤敏同志的先进事迹和先进思想,以《××县公安局关于开展向汤敏同志学习,争做汤敏式人民警察活动的通知》为题,代拟一篇公文稿。要求:符合
一、注意事项1.申论考试是对应考者阅读理解能力、综合分析能力、提出和解决问题能力、文字表达能力的测试。2.作答参考时限:阅读资料40分钟,作答110分钟。3.仔细阅读给定资料,按照后面提出的“申论要求”依次作答。二、给定资料
一、注意事项1.《申论》考试,与传统作文考试不同,是对分析驾驭材料的能力与对表达能力并重的考试。2.作答参考时限:阅读资料40分钟,作答110分钟。3.仔细阅读给定的资料,然后按“申论要求”依次作答。二、给定资料1.依照我
心理人类学是介于文化人类学与心理学之间的交叉学科,主要研究并了解文化对所属社会成员产生影响的心理机制,发现在个体水平上的心理变量与在总体水平上的文化、社会、经济、生态和生物变量之间的关系。根据上述定义,下列选项属于心理人类学研究范畴的是:
虽然说经营性养老机构的定价是放开的,政府不能够干预,但是,从保障购买者权益、稳定养老床位价格、规范市场秩序等角度来说,有关方面需要高度警惕这种销售床位的经营模式带来的种种问题。比方说,床位可以炒卖,这既有可能背离了养老机构床位的属性─把养老服务变成一种投资
亚热带红壤丘陵地区农业综合开发的模式是()。
由于IP地址难于记忆,人们采用域名来表示网上的主机,域名与IP地址的对应关系是由()进行转换的。
近年来,我国极地科学考察不断取得优异成绩,目前已在南北极建立了四个科学考察平台.在北极建立的是()。
根据以下资料,回答以下问题。综合2011~2013年的数据,农村居民人均现金收入和城镇居民人均可支配收入最高的季度分别是:
根据清末官制改革的结果,主管矿地开发和相关事务管理的行政部门是()。
随机试题
“安慰剂效应”是指让病人在不知情的情况下服用完全没有药效的假药,却能得到与真药相同甚至更好效果的现象。“安慰剂效应”得到了很多临床研究的支持。对这种现象的一种解释是:人对于未来的期待会改变大脑的生理状态,进而引起全身的生理变化。以下陈述都能支持上述解释,除
药物的不良反应是
房地产变更测量分为()测量两类。
企业压力管理中的压力预防机制包括的两个层面是()。
甲股份有限公司(以下简称“甲公司”)为上市公司,其相关交易或事项如下:(1)经相关部门批准,甲公司于2016年1月1日按面值发行分期付息、到期一次还本的可转换公司债券1000万份,每份面值为100元。可转换公司债券发行价格总额为100000万元,不考虑发
某机械厂的机器设备在市场中十分独特以至于难以将其变现,并且人员的遣散成本也很高。这种情况下,即使该产业的投资回报率较低,该企业也会坚持竞争,从而令该产业的竞争强度加大。根据该资料分析,属于影响产业内现有企业之间竞争强度的因素是()。
作为一个教师,需要掌握教育理论的基本课程主要是指()
The______approachtowritingteachingpaysattentiontonotonlywhattowrite,butalsohowtowrite.
___________(38)的目的是检查模块之间,以及模块和已集成的软件之间的接口关系,并验证已集成的软件是否符合设计要求。其测试的技术依据是___________(39)。(38)
Nowadaysthescatteringofgalaxiesandtheastoundingabundanceofstarsareforcingthosewhopondersuchmatterstoafurther
最新回复
(
0
)