《数据库技术与应用》课件-40.创建与管理触发器_第1页
《数据库技术与应用》课件-40.创建与管理触发器_第2页
《数据库技术与应用》课件-40.创建与管理触发器_第3页
《数据库技术与应用》课件-40.创建与管理触发器_第4页
《数据库技术与应用》课件-40.创建与管理触发器_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

创建与管理触发器学习目标2通过本课程的学习,掌握创建与管理触发器基本知识。主要学习内容:一.创建触发器二.管理触发器创建触发器31.创建DML触发器创建DML触发器的语法格式如l图所示:创建触发器4其中:INSERT|UPDATE|DELETE:用来指明哪种DML操作将激活触发器。FOR|AFTER:均表示事后触发器,AFTER为默认值,表示只有在执行了指定的DML操作(INSERT,DELETE,UPDATE)之后触发器才被激活并执行触发器中的T-SQL语句。所有的引用级联操作和约束检查也必须在执行此触发器前已成功完成相应操作。注意不能对视图定义AFTER触发器。创建触发器5INSTEADOF:执行指定的触发器而不是执行触发的DML操作语句,从而替代触发语句的操作。因此触发器优先级高于触发语句的操作。在表或视图上,每个INSERT、UPDATE和DELETE语句最多可以定义一个INSTEADOF触发器。IFUPDATE(列名):用来测定对某一确定列是插入操作还是更新操作,但不与删除操作用在一起。创建触发器6注意:创建触发器时需指定:触发器名称在其上定义触发器的表触发器将何时激发激活触发器的数据修改语句。有效选项为INSERT、UPDATE或DELETE。多个数据修改语句可激活同一个触发器。执行触发操作的编程语句。创建触发器72.创建DDL触发器DDL触发器是一种特殊的触发器,DDL触发器将激发存储过程以响应事件。但与DML触发器不同的是,DDL触发器响应的是数据定义语言(DDL)的刺激,如CREATE,ALTER和DROP开头的语句。创建触发器8创建DDL触发器的语法格式如下。CREATETRIGGER触发器名ON{ALLSERVER|DATABASE}[WITHENCRYPTION]{FOR|AFTER}{DDL事件}[,...n]ASsql_statement创建触发器9其中:ALLSERVER:是指将DDL触发器的作用域应用于当前服务器。如果指定了此参数,则当前服务器中的任何数据库都能激发此触发器。DATABASE:是将DDL触发器作用域应用于当前数据库。如果指定了此参数,则只要当前数据库激发此触发器。创建触发器10其中:FOR|AFTER:表示事后触发器,DDL触发器没有代替触发器。DDL事件:每一个DDL事件都对应一个T_SQL语句,DDL事件语句是经过语法修改,在关键字之间包含了下划线(“_”)构成。例如,删除表事件为DROP_TABLE,修改索引事件为ALTER_INDEX。管理触发器11触发器的管理包括查看触发器定义信息、修改与删除触发器和启用、禁用触发器等操作。1.使用SSMS可视化操作界面管理触发器管理触发器12如图所示,在"对象资源管理器"窗口中,展开指定“数据库”节点→指定“表”节点→“触发器”节点,右键单击指定的触发器,从弹出的快捷菜单中选择“查看依赖关系”|“启用”|“禁用”|“删除”|“修改”命令,即可完成查看触发器的对象依赖关系、启动或禁用触发器、删除触发器、修改触发器等操作。管理触发器132.使用T_SQL命令管理触发器1)查看触发器 使用以下系统存储过程查看触发器的相关信息。sp_help:显示触发器的所有者和创建时间sp_helptext:显示触发器的源代码sp_depends:显示该触发器参考的对象清单管理触发器14【例】查看表“BookInfo”中的触发器“TriInsertTip”的所有者和创建时间、触发器的源代码、该触发器参考的对象清单。代码与运行结果如图所示:管理触发器152)修改触发器利用ALTERTRIGGER语句修改触发器的功能代码,只需在创建触发器语句中用关键字ALTER替代CREATE,然后修改触发器中的T_SQL语句即可。3)删除触发器删除一个触发器,它所基于的表和数据不会受到影响。当参照的表被删除时,触发器也会被自动删除。管理触发器16使用DROPTRIGGER命令删除触发器,其语法格式如下:DROPTRIGGERtrigger_name1[,...trigger_namen]ON{DATABASE|ALLSERVER}[;]【例】删除触发器“TriInsertTip”。代码:DROPTRIGGERTriInsertTip在“查询编辑器”中运行以上代码成功后,需要刷新下表“BookInfo”中“触发器”节点,才能看到删除结果。管理触发器174)禁用与启用触发器当暂时不需要某个触发器时,可将其禁用。禁用触发器不会删除该触发器,但是在执行任意INSERT、UPDATE、DELETE语句或CREATE、ALTER、DROP语句时,触发器将不会被激发。已禁用的触发器也可以被重新启用。禁用触发器的语法如下:DISABLETRIGGER{ALL|触发器名[,...n]}ON对象名|DATABASE|ALLServer管理触发器18【例】禁用触发器“TriInsertTip”代码与运行结果如图所示:禁用成功后,需要刷新下表“BookInfo”中“触发器”节点,以便看到禁用效果。管理触发器19【例】禁用触发器“TriInsertTip”代码与运行结果如图所示:禁用成功后,需

温馨提示

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

评论

0/150

提交评论