存储过程的分类及使用.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
存储过程的分类及使用

存储过程的分类及使用 存储过程的概念 存储过程的分类 存储过程的工作原理 使用存储过程优点 存储过程的创建_语法 存储过程的创建_方法 存储过程的创建_指导原则和注意事项 存储过程的执行 存储过程中参数的使用 输入参数的使用_形参 输入参数的使用_实参 输出参数_返回值 关于过程的嵌套 存储过程的修改 存储过程的删除 存储过程编程管理建议 下课 * 第*页 《Sql Server2000程序设计》 ** ** 南通职业大学电子工程系计算机教研室 存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理,是数据库中的一个对象。 存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。 ** 1、系统存储过程:以“sp_”为前缀标识,存储在“master”数据库中,提供对系统表的检索和管理功能。 2、扩展存储过程:以“xp_”为前缀标识,通过执行外部DLL来实现功能。 3、本地存储过程:创建在用户数据库中。 4、临时存储过程:主要用于用户会话中临时存储的功能。 5、远程存储过程:为早期功能。 ** 过程体语句 过程名 数据库 Sysobjects表 Syscomments表 高速缓存 已编译好的经 过优化的过程 的执行计划 执行环境 连接1 连接2 连接3 ** 1、与其他应用程序共享应用逻辑,确保一致的数据访问和修改。存储过程封装了商务逻辑。若规则或策略有变化,则只需要修改服务器上的存储过程,所有的客户端就可以直接使用。 2、屏蔽数据库模式的详细资料。用户不需要访问底层的数据库和数据库内的对象。 3、提供了安全性机制。用户可以被赋予执行存储过程的权限,而不必在存储过程引用的所有对象上都有权限。 4、改善性能。预编译的 Transact-SQL 语句,可以根据条件决定执行哪一部分。 5、减少网络通信量。客户端用一条语句调用存储过程,就可以完成可能需要大量语句才能完成的任务,这样减少了客户端和服务器之间的请求/回答包。 ** 主要讨论自定义的本地存储过程: CREATE PROC [ EDURE ] procedure_name [ ; number ] ????[ { @parameter data_type } ????????[ VARYING ] [ = default ] [ OUTPUT ] ????] [ ,...n ] [ WITH ????{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ] Create Procedure: 关键字:标识创建存储过程 定义过程名称,为一个合法的标识符 定义过程参数,形参 定义过程编译选项: 请参见:《联机手册》中的“CREATE PROCEDURE”页 定义过程体的Sql语句,为存储过程的实现部分 ** 1、使用向导:EM中菜单“工具\向导”,演示 2、使用企业管理器:在数据库中新建,演示 3、使用“查询分析器”,建议使用 优点:集编码、语法检查、执行、修改等功能为一身。 ** 1、认真区分表、视图、存储过程的所有者、使用者及其相关权限。尽量做到: dbo用户为表和存储过程的所有者,给其他用户赋以存储过程的执行权,由存储过程向用户提供数据的查询和管理功能。 2、在规划存储过程功能时,努力使其实现单一任务。 3、所有的存储过程均使用相同的链接设置。 4、为保密起见,可以在创建存储过程时使用“WITH ENCRYPTION ”对存储过程加密。 注意时机 如要修改,只能使用“更改”命令重写过程。 ** 执行存储过程,可以有以下方式: 1、[ EXEC [ UTE ] ] { procedure_name } [ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ] [ ,...n ][ WITH RECOMPILE ] 演示…… 2、可以在Insert语句中执行存储过程。 语法:INSERT INTO 表名 EXECUTE …… 注意:存储过程的执行者必须在存储过程上拥有 EXECUTE 权限以后才能执行该过程 ** 在存储过程中使用参数的形式有: 1、输入参数:接收调用者传递给过程的参数。 2、输出参数:由调用者给定,但由过程为其赋值,从而达到过程返回值的目的。 ** 1、形参定义的方式: @Parameter DataType [=Default] 注意:默认值必须是“常量”或“NULL” 2、形参个数1024。 3、形参是个局部变量,仅

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档