您好,欢迎访问全国教育考试教材网
商品分类

SQL Server 2000应用基础(高等教育出版社)

SQL Server 2000应用基础

SQL Server 2000应用基础

作者:杨闯

出版社:高等教育出版社出版时间:2007-12-01

开本:16开

页数:269

SQL Server 2000应用基础 版权信息

  • ISBN:9787040218367
  • 条形码:9787040218367 ; 978-7-04-021836-7
  • 装帧:暂无
  • 版次:暂无
  • 册数:暂无
  • 重量:暂无
  • 印刷次数:1

SQL Server 2000应用基础 节选

nbsp; 言
目前,数据库管理技术在信息管理方面有着十分重要的地位,越来越多的企事业单位使用数
据库进行信息的存储和管理。SQL Server 2000是使用范围非常广泛的企业级数据库管理系统。
目前,掌握SQL Server 2000的数据库管理人员以及信息系统开发人员在企事业单位非常受
欢迎。
本书根据实际需要,循序渐进地介绍了SQL Server 2000的安装、配置与管理。本书由基础
知识开始,介绍了SQL Server 2000数据库及其对象的使用以及对SQL Server 2000数据库的备
份、还原等管理知识,后用VB和ASP程序的综合实例介绍了SQL Server 2000的应用。本书
在编写过程中,减少了枯燥的理论,采用大量例题和操作步骤使读者能够直观地学习SQL server
2000的应用和技能。本书每章开头列出了学习目标和学习重点,每章结尾有小结,并配有相应
的习题和操作训练趣,读者可结合四川省省级精品课程《SQL Server 2000应用基础》(网址WWW.
cdnkxy.com)巩固所学知识。
全书共分10章,主要介绍了SQL Server 2000及其安装配置、数据库的设计、数据表的创建
和管理、数据的查询和修改、索引和视图、T-SQL编程基础知识、触发器和存储过程的创建和使
用、SQL Server 2000的安全性、SQL Server 2000的备份、还原及不同数据格式之间转换的方法,
后通过实例介绍了使用VB和ASP应用SQL Server 2000的方法。
本书由成都农业科技职业学院廖世蓉副教授担任主编,四川省交通职业技术学院杨闯教授
任副主编,雷静、尹华国、周洪林、伍德军、钟丽萍、周春容参与编写。杨靖工程师审阅了全稿,在
此表示感谢。
由于时间仓促,编者水平及经验有限,书中不妥之处在所难免,恳请广大读者批评指正。
编 者
2007年8月

触发器与存储过程
·掌握触发器的类型。
·掌握触发器的创建、修改和删除。
·掌握存储过程的创建和使用。
·触发器的创建。
·inserted表和deleted表的使用。
·存储过程的创建。
实现数据库的某些特定功能,可以使用两个数据库对象——触发器和存储过
程。通过学习本章将能够创建和使用触发器和存储过程,能够在服务器端实现一些
业务规则。
触发器概述
许多学校为了保证教学质量,可能规定一位教师在一学期内教授课程不能超过两门,类似这
样的规定称为业务规则。例如,在供货系统中规定订货日期要早于发货日期,在图书管理系统中
规定一次多只能借3本书等都是业务规则。为了实现这样的业务规则,可以通过约束来实现,
但有一些超出了约束的范围。SQL Server 2000提供另一种强制业务规则和数据完整性的机
制——触发器。
7.1.1 什么是触发器
触发器是一种特殊的存储过程。存储过程的执行是通过存储过程的名称被调用而执行的;
触发器是通过定义的事件发生而被执行的。存储过程是用户主动调用的,而触发器是被动执行
的。当在指定表中使用UPDATE、INSERT或DELETE中一种或多种数据修改操作对数据进行修
改时,触发器就会生效。触发器可以查询其他表,也可以包含复杂的SQL语句,主要用于强制复
杂的业务规则或要求。SQL Server 2000将触发器和触发它的语句作为一个事务对待,若条件不
满足,可以回滚整个事务。
触发器的优点如下:
①触发器是被动的,在对表的数据做任何修改(例如手工输入或者采取应用程序执行操作)
之后立即被激活。
②触发器可以通过数据库中的相关表进行级联更改。例如,可以在Stu表的StulD列上创
建一个删除触发器,以使在stu表中执行删除操作时,级联删除相关表中的信息。
③触发器可以强制限制,这些限制比用CHECK约束所定义的更复杂。与CHECK约束不
同的是,触发器可以引用其他表中的列。
7.1.2触发器的类型
根据触发器的执行顺序,可将触发器分为:FOR/AFTER触发器和INSTEAD OF触发器。
·FOR/AFTER触发器:FOR触发器和AFTER触发器的作用相同,都是在触发器的IN—
SERT、UPDATE和DELETE语句执行完成之后执行。
·INSTEAD OF触发器:不执行对触发器的操作(INSERT、UPDATE和DELELTE语句),只
完成触发的动作,即用触发器中定义的操作替代触发操作。
根据对触发器的操作,又可分为INSERT触发器、UPDATE触发器和DELETE触发器。这3
种触发器不是严格划分的,一个触发器可以是任意一种,或者是两种的组合。
·INSERT触发器:当向创建触发器的表中插入数据时触动触发器。
·UPDATE触发器:当在创建触发器的表中修改数据时触动触发器。
·DELETE触发器:当在创建触发器的表中删除数据时触动触发器。
7.2.1 用T—SQL语句创建触发器
创建触发器的T—SQL语句为CREATE TRIGGER,其语法如下:
CREATE TRIGGER trigger—name
ON { tablename | viewname}
[ WITH ENCRYPTION ]
{ {FOR|AFTER|INSTEAD OF} {[DELETE][,][ INSERT ] [ , ][UPDATE]}
AS
[ { IF UPDATE ( )
[ { AND | OR f UPDATE (column_name) ][…n ]
sql_statement [… n ]
其中,相关选项说明如下:
·ON表示该触发器创建在哪个表或视图上。
·WITH ENCRYPTION选项是可选的,表示对定义触发器的文本进行加密,该操作是不可
逆的。
·FOR和AFTER的意义相同,表示在触发的SQL语句中指定的所有操作都已成功执行后
才激发。所有的引用级联操作和约束检查也必须成功完成后,才能执行此触发器。
·INSTEAD OF表示替代触发语句的操作,执行触发器而不执行触发的SQL语句。
·{[DELETE][,][INSERT][,][UPDATE]}指定在表或视图上执行哪些数据修改语
句时将激活触发器,必须至少指定一个选项。在触发器定义中,允许使用以任意顺序组合的这些
关键字。如果指定的选项多于一个,需用逗号分隔这些选项。
·AS指定触发器要执行的操作。
·IF UPDATE(字段名)判断该字段的值是否修改,若被修改,其值为TRUE,否则为
FALES。
【例7一l】 当向Stu表添加记录完成时,返回一条信息“操作完成”。
USE students
GO
CREATE TRIGGER mes stu
ON Stu FOR INSERT
AS
PRINT‘操作完成’
验证触发器是否能正常工作,向Stu表添加一条记录,如图7—1所示。
INSERT Stu
VALUES(’王二。,’女’,’1990—10—3’,’13456261584’,’计算机软件’,’1001’,NULL)
定义触发器的注意事项:
①CREATE TRIGGER必须是批处理中的条语句,并且只能应用到一个表中。
②触发器只能在当前的数据库中创建,不过触发器可以引用当前数据库的外部对象。
③触发器中不允许使用下列T—SQL语句:
ALTER DATABASE, CREATE DATABASE, DISK INIT,
DISK RESIZE, DROP DATABASE, LOAD DATABASE,
LOAD LOG, RECONFIGURE, RESTORE DATABASE, RESTORE LOG