单号,你将怎么做?( A )
A.建立一个INSTEAD OF INSERT触发器来产生一个新的保单号,并将这个保单号插入数据表中。
B.建立一个INSTEAD OF UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。
C.建立一个AFTER UPDATE触发器来产生一个新的保单号,并将这个保单号插入数据表中。
D.用AFTER UPDATE触发器替代DEFAULT约束条件产生一个新的保单号,并将这个保单号插入数据表中。
14. . SQL Server存储过程分为三类,包括(ABD)
A. 系统存储过程 B. 扩展存储过程 C. 数据库存储过程 D. 用户自定义存储过程
15. DDL触发器分为两种,包括( AB )
A. 服务器触发器 B. 数据库触发器 C. 表触发器 16. 按触发操作的不同,DML触发器分为(BCD )
A. select触发器 B. insert触发器 C. update触发器 D. delete触发器 17. 按触发后是否代替标准操作,DML触发器分为(B)
A. after触发器 B. instead of触发器 C. alter触发器 判断题
18. 创建存储过程必须在企业管理器中进行。( F )
19. 触发器主要是通过表操作事件进行触发而被执行的。( T ) 20. 删除表时,表中的触发器被同时删除。( T )
21. 创建触发器的时候可以不是表的所有者或数据库的所有者。( F ) 填空题
22. 使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回“STUDEND”表中所有班级代码为的记录。 USE XK
CREATE _PROCEDURE_ P_STUDENT AS
SELECT *
__FROM_STUDENT 23. 创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条“记录已修改”的消息。 USE XK
CREATE TRIGGER_ ON STUDENT
AFTER__UPDATE__ AS
PRINT ‘记录已修改’
24. ___存储过程______是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句。
25. 触发器定义在一个表中,当在表中执行__insert__、_update__或delete操作时被触发自动执行。 简答题:
26. 阅读程序,说明它功能 use 成绩数据库
If exists ( select name from sysobjects Where name=’student_inf’ and type=’p’) Drop procedure student_inf Go
Create procedure student_info as
Select 学号, 姓名, 总学分 from xsqk 程序功能;
检查在系统表sysobjects中有没有名为student_inf的存储过程,如果有则删除该存储过程;再创建一个存储过程命名为student_info;该存储过程的功能是从xsqk表中选出学号、姓名、总学分来显示。 27. 阅读程序,说明它功能 use 成绩数据库
CREATE TRIGGER abc ON [dbo].[XSCJ] FOR UPDATE AS
if update(成绩) update xscj
set xscj.学分=(select 学分 from xskc where deleted.课程号=xskc.课程号) from xscj,xskc,deleted
where xscj.成绩>=60 and deleted.学号=xscj.学号 and deleted.课程号=xscj.课程号 程序功能:
在XSCJ表中创建一个名为abc的触发器;在该表进行更新后,检查表中成绩列是否更新,若更新则将该科成绩大于60分的学生的该科学分设置为从课程表中获得该科的学分。
28. 什么是存储过程?使用存储过程的好处有哪些?为什么存储过程要比单纯的Sql 语句执行起来要快?
答:SQL Server 2005中存储过程用于完成某项任务的Transact-SQL 语句,它可以接受参数、返回数值和状态值。使用存储过程的好处: (1) 提供了SQL Server 服务器处理复杂任务的能力。 (2) 增强了Transact-SQL 语句代码的重用性的能力。 (3) 减少了网络中数据的流量。
(4) 加快了SQL Server系统的运行速度。 (5) 加强了SQL Server系统的安全性。
存储过程只需要编译一次后运行这个存储过程就不需要在编译了但是SQL语句每次都需要编译。在程序里使用存储过程减少网络传输量。 29. 一个存储过程需要修改但又不希望影响现有的权限,应使用那个语句来进行修
改?
答: 应该使用ALTER PROCEDURE 语句对存储过程进行修改,ALTER PROCEDURE 语句修改存储过程,不会影响权限,也不会影响相关的存储过程的触发器。
30. 什么是触发器?触发器的主要用途有哪些?
答:触发器是一种特殊类型的存储过程,是用户对某一表中数据进行UPDATE、INSERT和DELETE操作时被触发执行的一段程序。
触发器可以实现由主键和外键所不能保证的复杂的参照完整性和数据一致性。起主要作用体现在以下几个方面:
(1)触发器可以对数据进行级联修改。
(2)实现比CHECK约束更为复杂的限制。 (3) 强制表的修改要符合业务规则。
31. AFTER触发器和INSTEAD OF触发器有什么不同? 答: AFTER触发器和INSTEAD OF触发器有以下区别:
(1) AFTER 触发器在执行INSER、UPDATE或DELETE语句操作后执行AFTER
触发器。它只能在表上指定。一个表可以有多个AFTER触发器。
(2) INSTEAD OF 触发器,执行INSTEAD OF 触发器代替通常的触发动作。该类触发器不但可以再表上定义,还可以在具有一个或多个基表的视图上定义。一个表只能具有一个给定类型的INSTEAD OF触发器。 32. inserted表和deleted表各起什么作用?
Inserted 表存放由于执行INSERT或UPDATE 语句二要向表中插入的所有行;deleted 表存放由于执行DELETE 或UPDATE 语句而要从表中删除的所有行。 33. 触发器的类型以及相对的是哪个语句?
答:SQL Server 2005提供了两种类型触发器:DML触发器和DDL触发器。 1. DML触发器在执行INSERT、UPDATE或DELETE语句时被激发的触发器。 2. DDL触发器是在执行CREATE、ALTER和DROP语句时被激活的触发器。 第九 十一章习题 填空题
1. SQL Server 2000提供的数据库备份方法有( 完整 )数据库备份和( 差异 )数据库备份、( 事务日志 )备份和( 数据库文件或文件组 )备份。 选择题
2. SQL Server支持在线备份,但在备份过程中,不允许执行的操作是( D )。 (1) 创建或删除数据库文件 (2) 创建索引
(3) 执行非日志操作 (4) 自动或手工缩小数据库或数据库文件大小 A.(1) B.(1)(2) C.(1)(2)(3) D.(1)(2)(3)(4)
3. 在SQL Server 数据库中,下面的T-SQL语句段执行第三句时出现错误,数据库中的内容修改情况是( C )。 BEGIN TRANSACTION
update Account set balance=7800 where id=1 update Account set balance=9000 where id=1
IF @@error <> 0 --检查上一句,错误则执行 ROLLBACK TRANSACTION ELSE
COMMIT TRANSACTION
A. Account表中id为1的记录中balance字段的值被修改为7800 B. Account表中id为1的记录中balance字段的值被修改为9000 C. Account表中id为1的记录中balance字段的值不变 D. 不可能发生这种情况 简答题
5. 显式事务和隐式事务什么区别? 答:显式事务和隐式事务的区别:
(1)显式事务是指显式定义了启动和结束的事务。在实际应用中大多数事务是由用户来定义的。事务结束分为提交和回滚两种状态。事务以提交状态结束,则全部事物操作被完成且明确地提交到数据库中。事务回滚状态结束,则事务的操作被全部取消,事务操作失败。
(2)在隐式事务中,SQL?Server?在没有事务定义的情况下会开始一个事务,但不会像在自动提交模式中那样自动执行COMM?IT或ROLLBACK语句,事务必须显式结束。
6. 如何设置事务的隔离级别?
答:事务可以设置隔离级别,隔离级别描述了一个事务与其他事务所进行的资源或数据更改相隔离的成都。隔离级别允许并发负面影响的角度进行描述。SQL Server 2005支持的事务的隔离级别,从低到高有如下4种: 未提交读、已提交读、可重复读、可序列化
随着隔离级别的提高,可以更有效的防止数据的不一致性。但是,这样降低事务的并发处理能力,会影响多用户访问。
随着隔离级别可以通过编程方式进行设置,也可以通过使用SQL语法SET TRANSACTION ISOLATION LEVEL进行设置。
7. 数据库备份策略应考虑哪些方面的内容?常见的备份设备有哪些?
答:数据库备份策略应考虑三个方面的内容:备份的内容;备份的频率;备份数据的存储介质。
常见的备份设备有磁盘、磁带、命名管道。
第十二章习题
填空题
1. Microsoft定义的数据库访问标准包括 ( ABD )。
A.ODBC B.OLE DB C.JDBC D. ADO.NET
2. 在采用客户机/服务器体系结构的数据库应用系统中,应该将用户应用程序安装在 ( B )。.
A.客户机端 B.服务器端 C.终端 D.系统端