网站大量收购独家精品文档,联系QQ:2885784924

SQL课件存储过程和触发器.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 存储过程和触发器;教学目标:本章主要包含以下内容。 存储过程概述 设计存储过程 实现和管理存储过程 触发器概述 设计触发器 实现和管理触发器 通过本章的学习,使读者掌握存储过程和触发器的基础知识,并基本学会编写简单的存储过程和触发器,为以后在实际应用中不断提高自己编写存储过程和触发器的技能打下良好的基础。;第10章 存储过程和触发器;10.1 存储过程概述;10.1.2 存储过程的分类 1. 用户存储过程 2. 系统存储过程 3. 扩展存储过程;10.2 设计存储过程;10.2.2 存储过程的内部命名规范化 存储过程中的Transact-SQL语句使用的对象名称必须符合规范的模式,如果未指明对象所属的模式,存储过程将使用当前默认的模式。 每个存储过程必须有惟一的名称,存储过程中使用的变量类型必须符合Transact-SQL的要求,变量名必须以@开头,并且存储过程的名称???变量的命名要符合Transact-SQL标识符规则。;10.2.3 存储过程的加密定义 如果用户想定义一个不让其他用户看到具体操作的存储过程,可以使用WITH ENCRYPTION参数,那么存储过程将会以不可读的状态存在,并且存储过程拥有者、创建者和数据库管理员都不可见。;10.3 实现和管理存储过程;10.3.2 执行存储过程 执行存储过程有多种方式,比较常用的有以下几种。 1. 通过Execute或Exec语句执行 2. 通过设置,使存储过程自动执行 3. 作为批处理的第一行,直接输入存储过程名;10.3.3 修改存储过程 1. 修改存储过程的语法 注意:修改存储过程的名称会影响已关联对象对此存储过程的调用。 2. 使用Management Studio修改存储过程;10.3.4 重新编译存储过程 1.sp_recompile系统存储过程可以强制指定的存储过程在下次调用时重新编译。其调用的语法结构为:sp_recompile [ @objname = ] object,其中的object为存储过程的名称。 2.在创建存储过程时使用WITH RECOMPILE参数项,SQL Server将不会把此存储过程放在缓冲存储器中,并且每次调用此存储过程时都会重新编译。 3.在调用存储过程时,可以使用参数选项WITH RECOMPILE强制重新编译。使用这个参数项要求存储过程的参数必须是非典型的或者数据发生了很大的变化,否则一般不用它。;10.3.5 删除存储过程 如果一个存储过程不再需要,用户就可以删除它,但是如果此存储过程有关联存储过程调用,系统会返回错误信息。但是删除存储过程后,用户重新定义的同名称同参数的存储过程可以被原来关联的对象使用。 删除存储过程的Transact-SQL语法结构为: DROP PROCEDURE { [ schema_name. ] procedure } [ ,...n ];10.4 触发器概述;10.4.1 触发器的特点 触发器是一种特殊的存储过程,除了存储过程的特点外,它还另外有以下特点: 触发器是自动执行的,可以在一定条件下触发。 触发器可以同步数据库的相关表,进行级联更改。 触发器可以实现更复杂的安全检查。它可以实现比CHECK更复杂的业务规则,还可以引用其他表中的列。 触发器可以实现数据库的管理任务。如DDL触发器,在DDL语句执行后触发,可以实现一些统一的数据库管理策略。;10.4.2 触发器的种类 1. DML触发器 DML触发器是在执行数据操作语言事件时被调用的触发器,其中数据操作语言事件包括:INSERT、UPDATE和DELETE语句。触发器中可以包含复杂的Transact-SQL语句,触发器整体被看作一个事务,可以回滚。 2. DDL触发器 与DML触发器类似,与DML不同的是,它相应的触发事件是由数据定义语言引起的事件,包括:CREATE、ALTER和DROP语句,DDL触发器用于执行数据库管理任务,如调节和审计数据库运转。DDL触发器只能在触发事件发生后才会调用执行,即它只能是AFTER类型的。;10.4.3 inserted表和deleted表 触发器中两个比较特殊的对象:inserted表和deleted表。在使用触发器过程中,SQL Server使用到了两张特殊的临时表,分别是inserted表和deleted表。这两张表都存在于高速缓存中(当然,如果内存不够用,也可能存储在硬盘上),实际上是事务日志的视图,它们与创建了触发器的表有着相同的结构。;10.5 触发器设计规则;10.5.2 确定触发器的响应范围 对于DML触发器,其响应范围是在数据

文档评论(0)

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

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

1亿VIP精品文档

相关文档