数据库开发实例2.pptVIP

  1. 1、本文档共20页,可阅读全部内容。
  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文档。上传文档
查看更多
数据库开发实例2

1.存储过程的优势 (1) 能实现模块化程序设计。存储过程是根据实际功能的需要创建的一个程序模块,并被存储在数据库中。以后用户要完成该功能,只要在程序中直接调用该存储过程即可,而无需再编写重复的程序代码。存储过程可由数据库编程方面的专门人员创建,并可独立于程序源代码而进行修改和扩展。 (2) 使用存储过程可以提高执行效率。当客户程序需要访问服务器上的数据时,一般要经过5个步骤: 6.3 存储过程 6.3.1 存储过程概述 首先介绍使用SQL Server中的存储过程而不使用存储在客户计算机本地的T-SQL程序的优势,然后介绍存储过程的分类。 ● 查询语句被发送到服务器; ● 服务器编译T-SQL语句; ● 优化产生查询执行计划; ● 数据库引擎执行查询; ● 执行结果发回客户程序。 如果执行存储在客户端本地的T-SQL程序,那么每次执行该程序时,对于程序中的每一条语句都要经过以上5个步骤。而存储过程在创建时就被编译和优化,当存储过程第一次被执行时,SQL Server为其产生查询计划并将其保存在内存中,这样以后在调用该存储过程时就不必再进行编译,即以上5个步骤中的第2步和第3步就被省略了,这能大大改善系统的性能。 (3) 减少网络流量。一个需要数百行T-SQL代码的操作,如果将其创建成存储过程,那么使用一条调用存储过程的语句就可完成该操作。这样就可避免在网络上发送数百行代码,从而减少了网络负荷。 (4) 可作为安全机制使用。管理员可以不授予用户访问存储过程中涉及的表的权限,而只授予执行存储过程的权限。这样,既可以保证用户通过存储过程操纵数据库中的数据,又可以保证用户不能直接访问存储过程中涉及的表。用户通过存储过程来访问表,所能进行的操作是有限制的,从而保证了表中数据的安全性。 2.存储过程的类型 1) 系统存储过程 在SQL Server中的许多管理工作是通过执行系统存储过程来完成的。系统存储过程创建和保存在master数据库中,都以sp_为名称的前缀。系统存储过程是SQL Server系统自带的,具有执行系统存储过程权限的用户,可在master数据库之外直接调用。一般情况下,系统存储过程执行成功返回0值,若有错误发生返回非0值。 2) 扩展存储过程 扩展存储过程是以动态链接库(dll)形式存在的外部程序。 SQL Server自身带了大量的扩展存储过程安装在master数据库中,扩展存储过程与普通存储过程执行方法相同。 若扩展存储过程的前缀为sp_,则该扩展存储过程在master数据库之外也可直接调用;否则,必须在扩展存储过程前面加上“master.dbo.”前缀。 开发人员可以使用其他编程语言来创建扩展存储过程,编写好扩展存储过程后,可由sysadmin服务器角色的成员在 SQL Server 中注册该扩展存储过程,然后授予其他用户执行该过程的权限。扩展存储过程只能添加到 master 数据库中,利用扩展存储过程可以扩展SQL Server的功能。 3) 用户存储过程 用户存储过程是由用户根据实际问题的需要所创建的存储过程。 固定服务器角色sysadmin 的成员可根据实际需要在master数据库中创建用户存储过程,若使用sp_做存储过程的前缀,则该存储过程在任何位置均可直接调用,否则,必须在该存储过程前面加上“master.dbo.”前缀。 对于在用户数据库中创建的存储过程,最好不要使用sp_作为其名称的前缀,否则如果该存储过程与系统存储过程同名,则该存储过程永远不会被执行。并且若在该用户数据库之外调用该存储过程,也必须在存储过程名的前面加上“用户数据库名.所有者名.”前缀才能找着、执行该存储过程。 用户存储过程可以完成以下功能: ● 接受输入参数并返回多个输出值。 ● 包含若干T-SQL语句,用以完成特定的SQL Server操作,其中可以有对其他存储过程的调用。 ● 返回一个指示成功与否及失败原因的状态代码给调用它的过程。 6.3.2 用户存储过程的创建及执行 用户存储过程可以使用T-SQL语句CREATE PROC[EDURE]或企业管理器来创建。在创建一个存储过程之前,应注意以下几个问题: ● 在存储过程中不能包含CREATE VIEW、CREATE DEFAULT、CREATE RULE、CREATE PROCEDURE和 CREATE TRIGGER这几个创建数据库对象的语句。 ● 创建存储过程的权限默认属于数据库所有者,该权限可以授予其他人。 ● 存储过程是数据库对象,它的命名应符合标识符的命名规则。 ● 存储过程只能创建在当前数据库中。 1.创

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档