数据库
首页
题库首页
在线模考
取消
取消
hot
热门搜索
一级建造师块
热
消防工程师块
热
初级会计师
证券从业
电气工程师
银行招聘
教师资格块
热
基金从业
更多热门>>
简答题
(10分)设在SQL Server 2008某数据库中有汽车表和销售表,表的定义如下:
参考答案
暂无
解析:
【解题思路】
使用FOR或AFTER选项定义的触发器为后触发器,即只有在引发触发器执行的语句中的操作都已成功执行,并且所有的约束检查也成功完成后,才执行触发器。而使用INSTEAD OF选项定义的触发器为前触发器。这种模式的触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代引发语句的操作。
在触发器语句中可以使用两个特殊的临时工作表:INSERTED表和DELETED表。这两个表是在用户自行数据的更改操作时,SQL Server自动创建和管理的。其中INSERTED表是用于存储INSERT和UPDATE语句所影响的行的副本。而DELETED表用于存储DELETE和UPDATED语句所影响的行的副本。
建立触发器语法是:
其中:参数trigger_name是触发器的名称。触发器名称必须符合标识符规则,并且在数据库中必须唯一。可以选择是否指定触发器所有者名称。
Table | view是在其上执行触发器的表或视图,有时称为触发器表或触发器视图。可以选择是否指定表或视图的所有者名称。
FOR或AVFER指定触发器只有在触发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语句是否导致执行触发器操作。
【参考答案】
【1】销售表
【2】INSERT
【3】INSERTED
【4】@Sales_Amount
【5】s-选择 汽车型号FROM INSERTED
从触发器的语法中可知,【1】处应该填写的执行触发器的表,【2】处应该填写指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。从题目“CREATETRIGGER tfi_in-sea【1】on【2】AFFER”知,本题创建的触发器是是后触发器。该触发器的功能是“每当在销售表中插入一条销售记录时,修改汽车表中对应型号的汽车的销售总数量”。本题是在销售表上建立后触发器,需要执行的是插入语句。故可推导出【1】处应填写:销售表,【2】处应填写:INSERT。
本题中,是使用INSERT和UPDATED关键字对商品表进行操作,因此影响的是INSERT-ED表的内容。故【3】处应填写:INSERTED。
本题要求的是更新汽车表中的销售总数量。更新语句采用UPDATE关键字,其语法格式为:UPDATE表名SET语句,语句为计算销售总数量。因此【4】处应填写:@Sales_Amount,
【5】处应填写:s-选择 汽车型号FROM INSERTED
点击查看答案
进入在线模考
你可能喜欢
简答题
(10分)在SQL Server 2008的数据库中存在如下两张关系表:
学生表(学号,姓名,性别,身份证号,系所号),学号为主码
系所表(系所号,系所名,系所简称),系所号为主码
在数据库中执行如下T-SQL代码:
(1)执行过程中发现速度比较缓慢,为了解决性能问题,需在功能不变的情况下,将此TSQL代码改为一条SQL语句:
s-选择 c-选择 (术)FROM学生表JOIN系所表ON学生表.系所号=系所表.系所号WHERE系所名LIKE´%电%´;
请分析此改变是否可以提高性能,并给出原因。
(2)学生表的身份证号和姓名上建有一个复合索引,索引建立语句为
CREATEINDEX idx_身份证号_姓名ON学生表(身份证号,姓名)
请指出如下两个查询语句能否使用此索引并说明原因。
s-选择 FROM学生表WHERE身份证号=´123456789012345678´;
s-选择 *FROM学生表WHERE姓名=´小明´;
点击查看答案
进入在线模考
单选题
论证是否具备数据库应用系统开发所需的人力资源,这属于数据库应用系统的( )。
A.操作可行性分析
B.经济可行性分析
C.技术可行性分析
D.开发方案可行性分析
点击查看答案
进入在线模考
单选题
下列属于数据库应用系统实现与部署阶段任务的是( )。
A.数据备份
B.数据库重组
C.索引调整
D.建立数据库结构
点击查看答案
进入在线模考
延伸阅读