数据库原理与应用 SQL Server 教学课件 作者 赵杰 李涛 余江 王浩全 第7章 使用存储过程和触发器.pptVIP

数据库原理与应用 SQL Server 教学课件 作者 赵杰 李涛 余江 王浩全 第7章 使用存储过程和触发器.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文档。上传文档
查看更多
第7章 使用存储过程和触发器 7.1 为何使用存储过程 存储过程是一段在服务器上执行的程序,它在服务器端对数据库记录进行处理,再把结果返回到客户端。通过使用存储过程,一方面可以利用服务器强大的计算能力和速度,另一方面服务器只需将计算结果传给客户端,避免把大量的数据下载到客户端,减少了网络传输量,因此可以提高客户端的工作效率。 存储过程还可以提供对数据的轻松访问,客户端不需要知道复杂的数据结构或业务逻辑过程,只需要把查询指令通过存储过程发给服务器,服务器就能把需要的数据返回给用户。因此可以把大量的业务逻辑用存储过程封装起来,当数据结构发生变化时,只需要改动存储过程的算法,对于客户端用户来说,不必关心后台数据结构的变化。 7.2 存储过程的定义和管理 7.2.1 创建存储过程 CREATE PROCEDURE语句用来创建存储过程,典型的语法结构如下: CREATE PROC[EDURE] procedure_name [ { @parameter data_type } [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] AS sql_statement [ ...n ] 7.2.2 修改存储过程 ALTER PROCEDURE更改先前通过执行CREATE PROCEDURE语句创建的存储过程,但不会更改权限,也不影响相关的存储过程。 ALTER PROCEDURE语句的典型语法结构如下: ALTER PROC[EDURE] procedure_name [ { @parameter data_type } [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] AS sql_statement [ ...n ] 7.2.3 删除存储过程 DROP PROCEDURE用于从当前数据库中删除一个或多个存储过程,典型的语法结构如下: DROP PROCEDURE procedure_name [ ,...n ] 7.2.4 重新编译存储过程 在创建和修改存储过程时使用WITH RECOMPILE选项,以便在每次执行时重新编译存储过程。或者使用系统存储过程sp_recompile来对存储过程进行重新编译,当返回代码为0时,表示编译成功,否则表示失败。 7.3 存储过程的应用 7.3.1 使用存储过程封装数据处理 输入参数允许向存储过程输入信息,实现更灵活的数据处理功能。 7.3.2 存储过程返回参数 存储过程可以返回信息到调用的存储过程或具有输出参数的客户机。为了使用输出参数,必须在CREATE PROCEDURE语句和EXECUTE语句中指定OUTPUT关键字。 7.4 为何使用触发器 触发器是一种特殊类型的存储过程,在更改表时生效,主要有如下优点。 触发器是自动的,它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。 触发器可以通过数据库中的相关表进行层叠更改。这比直接把代码写在前台的做法更安全合理。 触发器可以强制限制,这些限制比用CHECK约束所定义的规则更复杂。与CHECK约束不同的是,触发器可以引用其他表中的列。 7.5 触发器的工作原理 常用的触发器有:INSERT触发器、UPDATE触发器和DELETE触发器。 在使用触发器时需要用到inserted表和deleted表。 inserted表:存放由INSERT或UPDATE语句的执行而导致要加到该触发器作用的表中去的任何新行。 deleted表:存放由DELETE或UPDATE语句的执行而导致要从被该触发器作用的表中删除的任何行。 7.5.1 INSERT触发器 INSERT触发器在向表中添加记录时触发。 7.5.2 UPDATE触发器 UPDATE触发器在更新表中记录时触发。 7.5.3 DELETE触发器 DELETE触发器在删除表中数据时触发。 7.6 创建和管理触发器 7.6.1 创建触发器 CREATE TRIGGER语句用于创建触发器,典型的语法结构如下: CREAT

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档