数据库原理及应用项目9触发器的创建和使用课件

上传人:仙*** 文档编号:253317417 上传时间:2024-12-11 格式:PPT 页数:36 大小:3.32MB
收藏 版权申诉 举报 下载
数据库原理及应用项目9触发器的创建和使用课件_第1页
第1页 / 共36页
数据库原理及应用项目9触发器的创建和使用课件_第2页
第2页 / 共36页
数据库原理及应用项目9触发器的创建和使用课件_第3页
第3页 / 共36页
资源描述:

《数据库原理及应用项目9触发器的创建和使用课件》由会员分享,可在线阅读,更多相关《数据库原理及应用项目9触发器的创建和使用课件(36页珍藏版)》请在装配图网上搜索。

1、,数据库原理与应用,讲授人,CONTENTS,项目,1,数据库设计,项目,2,搭建,SQL Server 2008,数据库管理系统环境,项目,3,创建和管理数据库,项目,4,创建和管理数据表,项目,5,表中数据操作,项目,6,进行,T-SQL,程序设计,项目,8,存储过程的创建和使用,项目,7,事务、索引和视图的创建,与应用,项目,9,触发器的创建和使用,项目,10 SQL Server,的安全性管理,项目,11,数据库的备份和恢复,项目,12 SQL Server,数据转换,项目,13 SQL Server,代理服务任务,项目,9,触发器的创建和使用,任务,9.1-9.3,项目目标,项目导读

2、,项目实训,知识巩固,能力目标,02,知识目标,01,项目目标,了解为什么需要触发器。,理解触发器的工作原理。,掌握如何使用,insert,表和,deleted,表。,掌握如何创建,INSERT,触发器、,UPDATE,触发,器、,DELETE,触发器。,会通过触发器的使用管理网络论坛数据库,相关数据。,能够通过触发器实现网络论坛数据库相关,数据表的复杂约束。,CONTENTS,任务,9.1,知识准备,任务,9.3,知识和技能扩展,任务,9.2,“网络论坛”数据库数据管理,9.1.1,触发器的功能,任务,9.1,知识准备,1.,强化约束,触发器能够实现比,CHECK,语句更为复杂的约束。,约束

3、和触发器在特殊情况下各有优势,触发器的主要好处在于它们可以包含使用,T-SQL,代码的复杂处理逻辑。,在约束所支持的功能无法满足应用程序的功能要求时,触发器就极为有用。,9.1.1,触发器的功能,任务,9.1,知识准备,3.,级联运行,触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。触发器可通过数据库的相关表实现级联更改;不过,通过级联引用完整性约束可以更有效地执行这些更改。,9.1.2,触发器的分类,当服务器和数据库中发生数据定义语言(,DDL,)事件时将调用,DDL,触发器。,DDL,触发器是,SQL Server 2008,的新增功能,一般用于在数据库中执行管理任务。

4、,任务,9.1,知识准备,1.DDL,触发器,9.1.2,触发器的分类,(,1,),AFTER,触发器,在执行了,INSERT,、,UPDATE,或,DELETE,语句操作之后执行,AFTER,触发器。,任务,9.1,知识准备,3.DML,触发器的类型,(,2,),INSTEAD OF,触发器,INSTEAD OF,触发器在,UPDATE,、,INSERT,或,DELETE,语句执行时替代执行。,(,3,),CLR,触发器,CLR,触发器可以是,AFTER,触发器或,INSTEAD OF,触发器,还可以是,DDL,触发器。,CLR,触发器将执行在托管代码(在,.NET Framework,中创

5、建并在,SQL Server,中上载的程序集的成员)中编写的方法,而不用执行,T-SQL,存储过程。,9.1.3,触发器的工作原理,任务,9.1,知识准备,每个触发器有两个特殊的表:插入表(,inserted,表)和删除表(,deleted,表)。,deleted,表,用于存储,DELETED,和,UPDATE,语句所影响的行的副本,即在,deleted,表中临时保存了被删除或更新前的记录行。在执行,DELETE,或,UPDATE,语句时,行从触发器表中删除,并传输到,deleted,表中。,inserted,表,用于存储,INSERT,和,UPDATE,语句所影响的行的副本,即在,inser

6、ted,表中临时保存了被插入或被更新后的记录行。在执行,INSERT,或,UPDATE,语句时,新加行被同时添加到,inserted,表和触发器表中。,触发器可以禁止或回滚违反引用完整性的更改,从而取消所尝试的数据修改。,9.2.1,任务描述及分析,任务,9.2,“网络论坛”数据库数据管理,网络论坛发跟帖,需要完成的业务有:,1.,跟帖数据表增加一条记录数据。,2.,用户表中要增加发帖用户的积分,即要修改用户表的积分字段值。,3.,用户积分提高,用户级别也可能要发生变化,即要修改用户表的级别字段值。,4.,主帖的单击次数、跟帖数要增加,最后回帖时间要改变,即要修改主帖表的跟帖数、最后回帖时间、

7、单击次数字段值。,如果有第一步事件发生,如何自动实现后三个步骤呢?使用触发器是最好的选择,触发器可以实现表之间的复杂业务规则。,9.2.3,使用,T-SQL,语句创建触发器,任务,9.2,“网络论坛”数据库数据管理,创建触发器的,T-SQL,语法如下:,9.2.3,使用,T-SQL,语句创建触发器,任务,9.2,“网络论坛”数据库数据管理,【,示例,9-1】,对于解决论坛发跟帖问题,当跟帖表(,Reply,)中插入跟帖信息时,应自动更新对应用户表(,Users,)和主帖表(,Topic,)数据。,1.,创建,INSERT,触发器,创建触发器代码如下:,9.2.3,使用,T-SQL,语句创建触发

8、器,任务,9.2,“网络论坛”数据库数据管理,【,示例,9-2】,当删除交易信息表时,自动备份被删除的数据到表,backupTable,中。,2.,创建,DELETE,触发器,9.2.3,使用,T-SQL,语句创建触发器,任务,9.2,“网络论坛”数据库数据管理,【,示例,9-3】,跟踪用户的交易,交易金额超过,20000,元,则取消交易,并给出错误提示。,3.,创建,UPDATE,触发器,(,1,)启动,SQL Server Management Studio,,连接到数据库实例,在“对象资源管理器”窗口里,选择“数据库实例”“数据库”“,Studentmanager”“,表”“,dbo.s

9、tudents”“,触发器”“,myTrigger”,,单击右键,从快捷菜单中选中“修改”选项,如图,9.6,所示。,任务,9.3,知识与技能扩展,通过,SQL Server Management Studio,查看触发器的步骤如下。,9.3.1,查看和修改,DML,触发器,1.,通过,SQL Server Management Studio,查看触发器,图,9.6“,对象资源管理器”窗口“修改”选项,(,2,)打开“触发器,myTrigger”,代码编辑框,如图,9.7,所示,在这里可以查看触发器,也可以修改触发器。如果要修改触发器,直接修改代码,然后单击工具栏的“执行”按钮即可。,图,9.

10、7,触发器,myTrigger,的代码编辑框,任务,9.3,知识与技能扩展,通过存储过程,sp_help,可以查看触发器的相关信息,如名称、类型、创建时间等,其语法格式如下:,9.3.1,查看和修改,DML,触发器,3.,通过存储过程,sp_help,查看触发器,图,9.9,存储过程,sp_help,的运行结果,【,示例,9-5】,运行结果如图,9.9,所示。,任务,9.3,知识与技能扩展,通过,SQL Server Management Studio,禁用或启用触发器,其步骤与通过,SSMS,修改触发器类似,只是在弹出的快捷菜单中选择“禁用”选项,如启用,则选择“启用”选项,如图,9.10,

11、所示。,9.3.2,禁用和启用触发器,1.,通过,SQL Server Management Studio,禁用或启用触发器,图,9.10“,对象资源管理器”窗口“禁用”和“启用”选项,任务,9.3,知识与技能扩展,通过,ALTER TABLE,语句可以禁用或启用触发器,其语法代码如下。,9.3.2,禁用和启用触发器,2.,通过,T-SQL,禁用或启用触发器,项目实训,实训,1,为网上书店数据库创建添加图书触发器,分析,(,1,)图书表添加记录时,响应触发器告知用户添加成功,并进行查看。,(,2,)应该在图书表上创建,INSERT,触发器。,实现思路与关键步骤,(,1,)启动,SQL Serv

12、er Management Studio,,在“对象资源管理器”中依次展开“数据库”、“,BookSaleDB”,数据库、“表”节点。,(,2,)展开“,Books”,表,右击“触发器”,选择“新建触发器”。,(,3,)在右边弹出的查询窗口显示“触发器”的模板,输入触发器文本如下:,(,4,)执行语句,提示成功信息,则,INSERT,触发器创建成功。,(,5,)使用,INSERT,语句向,Books,表添加一条记录,验证触发器功能。,项目实训,实训,2,为网上书店数据库创建修改图书记录的触发器,分析,(1),随着时间变化,一些热销图书要进行降价处理,以便打开销路。,(2),降价促销图书,即打折

13、扣要更新图书折扣字段值,为了了解折扣修改信息,在,Books,表上,UPDATE,触发器。,(3)UPDATE,触发器响应过程,存在两个临时表,即,INSERTED,和,DELETED,,所以我们可以比较修改图书折扣前后的数据变化。,项目实训,实训,3,为网上书店数据库创建删除图书触发器,分析,(1),随着时间推移,大量图书已经不再销售,这些图书信息造成了图书表数据的冗余。,(2),图书表中无用数据记录要被删除,作为历史销售图书资料。为了后期查询需要,删除的记录还想自动保存到备份数据表。,(3),为图书表创建,DELETE,触发器,实现删除图书记录自动保存备份。,项目实训,实训,3,为网上书店

14、数据库创建删除图书触发器,实现思路与关键步骤,为,Books,表创建一个删除记录后显示提示信息的触发器,BooksDeleteTrig,。,(,1,)查询编辑器中输入以下文本:,(,2,)执行以上代码。,(,3,)验证触发器,删除图书表记录后提示“记录已经被备份,删除成功!”,查看备份数据表,删除的图书表记录已经添加到,BooksBackup,表。,知识巩固,一、选择题,1.CREATE TRIGGER,语句中的,WITH ENCRYPTION,参数的作用是()。,A.,加密触发器文本,B.,加密定义触发器的数据库,C.,加密定义触发器的数据库的数据,D.,以上都不对,2.,下列有关触发器的说

15、法,错误的是()。,A.,触发器是一种特殊的存储过程,它可以包含,IF,、,WHILE,、,CASE,等复杂的,T-SQL,语句,B.,使用触发器需要两步:先创建触发器,然后调用触发器,C.,如果检测到修改的数据不满足业务规则,触发器可以回滚撤销操作,D.,使用触发器可以创建比,CHECK,约束更复杂的高级约束,3.,当执行,UPDATE,语句时,系统将自动创建()逻辑表。(选两项),A.temp B.deleted C.hold D.inserted,4UPDATE,触发器能够对下列()修改进行检查。(选两项),A.,修改数据库名称,B.,修改表中的某行数据,C.,修改表中的某列数据,D.,

16、修改表的结构,知识巩固,一、选择题,5.,下列语句在,bank,表上创建了一个,trig_bank,触发器,以下说法正确的是()。(选两项),CREATE TRIGGER tirg_bank,ON bank,FOR UPDATE,INSERT,AS,IF(SELECT MAX(currentMoney)FROM Inserted)100000,BEGIN,END,A.,当查询,currentMoney,列的数据时,B.,当插入一行数据时,C.,当,bank,表中的任一列被更新时,D.,当插入多行数据时触发器会出现错误,知识巩固,二、操作练习,1.,在通讯录管理系统数据库的信息表上创建触发器,每添加一条记录,提示有信息发出。,2.,在图书管理管理数据库中,创建一个触发器,实现在读者信息表中删除某一读者信息,系统将自动删除该读者所有借书和还书信息。,Thank You,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!