- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载
下载
第20学时 存 储 过 程
存储过程是 SQL Server上的一个非常有用的特性。存储过程由被编译在一起的一组 S Q L语
句组成,并可以通过调用单个命令来执行。它们对于维护那些在 SQL Server上运行应用程序
时所需的代码是非常有用的。 SQL Server也预安装了许多系统存储过程,这些系统存储过程
在服务器上运行,用于收集关于服务器的专门信息。
本学时的要点包括:
• 什么是存储过程
• 存储过程的用途
• 创建和修改存储过程
• 运行存储过程
• 删除存储过程
20.1 什么是存储过程
正如我们前面提到的,存储过程只是一个 S Q L语句组合,它们被编译在一起,能通过单
个命令而被执行。存储过程能用于向用户返回数据、在表中插入新数据、修改数据、执行系
统函数和管理任务。总之,它们是 SQL Server 中功能非常强大的一部分,它能使你的工作更
轻松。存储过程具有能自动地在 SQL Server 上存储你的应用程序的业务逻辑和函数功能,这
样在服务器级上就可以对数据做出有关决策,而不是把结果返回给客户机。在过去几年里,
关于如何用存储过程支持这种功能,出现了两个主要的阵营。
第一个阵营认为,在存储过程中加入的功能越多越好。他们相信存储过程应能在数据
库的插入与更新中提供一切,以保持数据的有效性。赞成者的观点是,如果业务规则变化,
所有要做的仅仅是在服务器级更改存储过程,而不必在客户机级进行修改。反对者的观点是,
这种解决方案等于把所有的应用程序逻辑放进数据库,会使数据库本身的速度减慢。许多人
正在从这种解决方案转向下一种。
第二个阵营认为,所有由实际应用程序来处理的功能都应放在存储过程之外,并在数据
库之外进行处理。他们基本上认为应该放入存储过程的东西仅仅是实际的更新、插入和删除。
任何业务逻辑,比如数据有效性的校验,都应放在中间层或放在实际应用程序级 。赞成这种
解决方案的是那些对速度要求高而且其数据库仅仅是为了存储数据的人。反对者的观点是,
如果你所有的业务逻辑都存储在前端的应用程序中,任何业务逻辑的变化都将导致程序的重
写、重编译以及重新分发。另一个主要问题是,当所有的应用程序逻辑都存储在数据库本身
时,很难把数据库从一个平台移植到另一个 。通常通过使用包含所有业务逻辑的中间层应用
程序来解决这个问题。
SQL Server存储过程能通过下列方法之一向用户返回数据 :
• 从任何包含在存储过程中的 S E L E C T语句中返回的结果集。
• 整数值形式的返回代码。
第2 0学时 存 储 过 程 1 9 5
下载
• 输出参数,其中包含能被用户应用程序获得的整数或字符数据。
• 一个可以在存储过程外引用的游标。
在SQL Server 以前的版本中,存储过程是一种加速 S Q L语句执行的方法。这些语句包含
在存储过程里,它通过部分地编译执行计划来实现加速。存当储过程创建后,部分被编译的
执行计划就被存储起来。当存储过程执行时,它们将被检索出来并获得优化。当存储过程被
执行和优化后,执行计划就被存储在高速缓存中。当其他的处理器或用户运行该存储过程时,
计划被简单地从高速缓存中恢复并执行。
在此新版本的 SQL Server 中,存储过程通过一种完全不同的方法得到处理。 SQL Server
7 . 0 不再为存储过程存储任何执行计划,而是当过程被执行时, SQL Server检索代码、编译、
优化并且执行它。这时执行计划才被存储在高速缓存里,以便下一步的执行。
20.2 存储过程的用途
存储过程的用途几乎是无限的。从返回 S E L E C T语句的结果并用于用户报表到执行复杂的
数据有效性校验,你可以用存储过程来做任何事。至于说存储过程到底能为你做什么,部分
地取决于你是属于前面列出的两个阵营中的哪一个。如果你是坚信所有的应用程序功能都应
包含在存储过程中的那种人,让存储过程做任何事就成为可能的了。如果你认为 SQL Server
只应该用于存储数据,这也是一种选择。以下是存储过程的一
您可能关注的文档
最近下载
- 第四章战国、秦、汉、三国时期的建筑详解.ppt VIP
- T_HAEPCI 55—2023(有色冶炼场地土壤-地下水重金属污染协同修复与管控技术指南).pdf VIP
- 青春筑梦婴幼儿托育服务与管理专业启航未来职业生涯.pptx VIP
- 【新教材】2025-2026学年统编版(2024)三年级道德与法治上册第1课《学习伴我成长》课件.pptx
- T ACEF 111—2023 焦化污染土壤多环芳烃生物修复智能监测预警技术指南.pdf VIP
- MTT 114-2005 煤矿用多级离心泵.pdf VIP
- TACEF 112-2023 焦化污染土壤多环芳烃生物修复智能监测设备配置技术指南.pdf VIP
- GBT18479-2001 地面用光伏(PV)发电系统 概述和导则.pdf
- 低血容量性休克的护理.pptx VIP
- 2《住宅项目规范》宣贯培训-第3章.pdf
文档评论(0)