第9章-用户定义函数、存储过程与触发器.pptVIP

第9章-用户定义函数、存储过程与触发器.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.2 存储过程 9.2.7 删除存储过程 1.用T_SQL语句删除存储过程 语法格式: DROP PROCEDURE 存储过程名[ ,...n ] 【例9.18】将存储过程“学生名单”删除。 2.用SQL Server Management Studio删除存储过程 用SQL Server Management Studio删除存储过程的方法和查看存储过程信息的方法类似,只需在第4步中存储过程名上单击右键时,在快捷菜单中选择“删除”命令,并在弹出的“删除对象”窗口中选择“确定”按钮。 返回目录 9.3 触发器 9.3.1 触发器的概念及分类 触发器是一种特殊的存储过程,它不带任何的输入输出参数,不能被显式调用。触发器与特定的SQL Server对象(如表)相关联,在这些对象的指定操作发生时,服务器自动执行该触发器。 SQL Server2005 包括两大类触发器: 1) DDL 触发器。当服务器或数据库中发生数据定义语言 (DDL) 事件(CREATE、ALTER、DROP)时将调用DDL触发器。利用DDL触发器可以限制数据库中未经许可的更新和变化。 2) DML 触发器。当数据库中发生数据操作语言 (DML) 事件,即在指定表或视图中发生INSERT、UPDATE或 DELETE操作时,将调用 DML 触发器。DML 触发器经常用于强制执行业务规则和数据完整性。 这里只介绍DML触发器。 返回目录 9.3 触发器 9.3.1 触发器的概念及分类 DML触发器建立在表或者视图上 根据触发器被执行的时机,分为AFTER触发器和INSTEAD OF触发器。 A. AFTER 指定触发器仅在触发操作(INSETRT、UPDATE或DELETE操作)及检查约束都已成功执行后才被激发;一个表可以定义多个AFTER类型的触发器,但不能对视图定义AFTER触发器。 B. INSTEAD OF 指定触发器是“代替”引起触发器执行的语句(INSETRT、UPDATE或DELETE操作)的。对于表或视图,每个 INSERT、UPDATE 或 DELETE 语句最多可定义一个 INSTEAD OF 触发器。 根据DML触发器所指定的数据修改语句,可以分为INSETRT触发器、UPDATE触发器、DELETE触发器,它们分别由INSETRT语句、UPDATE语句、DELETE语句触发。 返回目录 9.3 触发器 9.3.1 触发器的概念及分类 DML 触发器在以下方面非常有用: 级联操作:DML 触发器可通过数据库中的相关表实现级联更改。 强化约束:DML 触发器可以防止恶意或错误的 INSERT、UPDATE 以及 DELETE 操作,并强制执行比 CHECK约束更强的限制,因为DML 触发器可以引用其他表中的列。 审核变化:DML 触发器可以评估数据修改前后表的状态,并根据该差异采取措施。 多响应:一个表中的多个同类 DML 触发器(INSERT、UPDATE 或 DELETE)允许采取不同的操作来响应同一个修改语句。 返回目录 9.3 触发器 9.3.2 创建触发器 1.用T_SQL语句创建触发器 语法格式: CREATE TRIGGER 触发器名 ON 表名 | 视图名 { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } AS SQL_语句 [ ...n ] 返回目录 9.3 触发器 9.3.2 创建触发器 1.用T_SQL语句创建触发器 说明: 1)可在触发器的主体中使用 UPDATE( ) 测试对某个列的修改。 2)在触发器中有两个临时表inserted、deleted可以访问。deleted表用于存储被DELETE 或UPDATE 语句删除或更新前的行的副本;inserted表用于存储被INSERT或UPDATE语句插入或更新后的行的副本。即旧行被复制到deleted表中,新行被复制到inserted表中。 返回目录 9.3 触发器 9.3.2 创建触发器 1.用T_SQL语句创建触发器 【例9.19】对学生表创建插入触发器,当有一条新的记录插入表中,就更新班级表中相应班级的人数。 触发器建立后,执行以下语句,并观察学生表、班级表的变化: INSERT INTO 学生表(学号,姓名,班级) V

文档评论(0)

moon8888 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档