数据库应用技术10.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(二)创建DML触发器 例11:删除图书保护。 CREATE TRIGGER T_BookNoDEL --创建INSTEAD触发器 ON Book --基于表“Book” INSTEAD OF DELETE --替代触发事件DELETE AS BEGIN PRINT 图书未被删除! --显示数据行,图书未被删除 END (4)创建事件的INSTEAD OF触发器 * (二)创建DML触发器 假设:删除某图书。 DELETE Book WHERE BID=TP311.138/236‘ 执行结果: 图书未被删除! (1 行受影响) 查看表“Book”,可见BID为‘TP311.138/236’的图书未被删除。 (4)创建事件的INSTEAD OF触发器 * (三)创建DDL触发器 语法: CREATE TRIGGER 触发器名 ON ALL SERVER|DATABASE [WITH ENCRYPTION] FOR|AFTER事件类型或事件组[,…,n] AS [BEGIN] T-SQL语句 [END] CREATE、ALTER和DROP触发 * (三)创建DDL触发器 参数说明: ALL SERVER:将DDL触发器的作用域应用于当前服务器。指定此参数,则当前服务器中的任何位置上出现事件类型或事件组,就会激发该触发器。 DATABASE:将DDL触发器的作用域应用于当前数据库。如果指定了此参数,则只要当前数据库中出现事件类型或事件组,就会激发该触发器。 WITH ENCRYPTION:对CREATE TRIGGER语句的文本进行加密。 事件类型:导致激发DDL触发器的T-SQL语句事件的名称。例如CREATE_TABLE、ALTER_TABLE、DROP_TABLE、CREATE_PROCEDURE等操作。 事件组:预定义的T-SQL语句事件分组的名称。执行任何属于事件组的T-SQL语句事件之后,都将激发DDL触发器。 CREATE、ALTER和DROP触发 * (三)创建DDL触发器 例12:使用DDL触发器来防止数据库“Library”中的任意一个表被修改或删除。 代码: USE Library GO CREATE TRIGGER safety1 ON DATABASE FOR DROP_TABLE, ALTER_TABLE AS BEGIN PRINT 要删除和修改表之前,你必须先禁用触发器safety1! ROLLBACK END CREATE、ALTER和DROP触发 * (三)创建DDL触发器 执行结果:新建触发器“safety1” 。 作用: 当用户试图使用DROP或ALTER语句删除或修改数据库“Library”中的表时,调用此DDL触发器,此触发器的事务回滚语句ROLLBACK将撤销DROP或ALTER语句的执行。 CREATE、ALTER和DROP触发 * (三)创建DDL触发器 例13:在服务器上创建 DDL 触发器来防止服务器中的任意一个数据库被修改或删除。 代码: CREATE TRIGGER safety2 ON ALL SERVER FOR DROP_DATABASE,ALTER_DATABASE AS BEGIN PRINT 要删除和修改数据库之前,你必须先禁用触发器safety2! ROLLBACK END CREATE、ALTER和DROP触发 * (一)触发器概述 DDL触发器 数据定义语言(DDL)事件时启用 CREATE、ALTER、DROP语句触发 作用 用于管理任务,例如审核和控制数据库操作。 2. 触发器的分类 * (一)触发器概述 登录触发器 LOGON事件触发 作用 用于控制数据库服务器的安全,例如拒绝某登录名启动的SQL Server登录尝试。 2. 触发器的分类 * (二)创建DML触发器 例7 创建基于表“Book”,执行INSERT操作的AFTER触发器。当添加一册图书信息之后,给出“您添加了一册书!”的提示。 步骤 在【对象资源管理器】窗口中,展开“数据库”→“Library”节点,再展开“表”节点下要创建触发器的“Book”节点,右键 “触发器”节点,从快捷菜单中选择“新建触发器”?命令 1.使用SSMS创建DML触发器 * (二)创建DML触发器 案例 创建基于表“Book”,执行INSERT操作的AFTER触发器。

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档