- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
                您可能关注的文档
- 数据库原理及应用教程 第3版 “十二五”普通高等教育本科国家级规划教材 教学课件 作者 陈志泊 2第7章 SQL Server 2008高级应用.ppt
- 数据库原理及应用教程 第二版 教学课件 作者 陈志泊 第1章 数据库系统概述.ppt
- 数据库原理及应用教程 第二版 教学课件 作者 陈志泊 第2章 关系数据库.ppt
- 数据库原理及应用教程 第二版 教学课件 作者 陈志泊 第3章 SQL.ppt
- 数据库原理及应用教程 第二版 教学课件 作者 陈志泊 第4章 关系数据库理论.ppt
- 数据库原理及应用教程 第二版 教学课件 作者 陈志泊 第5章 数据库安全保护.ppt
- 数据库原理及应用教程 第二版 教学课件 作者 陈志泊 第6章 数据库设计.ppt
- 数据库原理及应用教程 第二版 教学课件 作者 陈志泊 第7章 SQL Server 2000高级应用.ppt
- 数据库原理及应用教程 第二版 教学课件 作者 陈志泊习题答案 16416 数据库原理与应用教程 习题参考答案.doc
- 数据库原理及应用教程 教学课件 作者 陈志泊 李冬梅 王春玲 第1章.ppt
- 数据库原理与应用 SQL Server 教学课件 作者 赵杰 李涛 余江 王浩全 第8章 数 据 保 护.ppt
- 数据库原理与应用 SQL Server 教学课件 作者 赵杰 李涛 余江 王浩全 第9章 ADO数据库编程接口.ppt
- 数据库原理与应用 SQL Server 教学课件 作者 赵杰 李涛 余江 王浩全 第10章 复杂数据库设计.ppt
- 数据库原理与应用 SQL Server 教学课件 作者 赵杰 李涛 余江 王浩全配套习题 各章习题以及答案.doc
- 数据库原理与应用 第1章 数据库概述.ppt
- 数据库原理与应用 第2章 关系数据库.ppt
- 数据库原理与应用 第3版 教学课件 作者 赵杰 杨丽丽 陈雷 习题答案.doc
- 数据库原理与应用 第3章 关系数据库规划和设计.ppt
- 数据库原理与应用 第4章 SQL Server 2005概述.ppt
- 数据库原理与应用 第5章 数据库和表的创建.ppt
 原创力文档
原创力文档 
                        

文档评论(0)