忘電子工掌出社 第10章存储过程 10.1存储过程的概念 10.2存储过程的程序结构 10.3存储过程的创建 10.4存储过程的管理
第10章 存储过程 10.1存储过程的概念 10.2存储过程的程序结构 10.3存储过程的创建 10.4 存储过程的管理
忘電子工掌出社 10.1存储过程概述 存储过程是 SQL Server服务器上一组预先定义并编译好的 Transact-SQL语句,它可以接受参数、返回状态值和参数值。存 储过程在第一次执行时将进行语法检査与编译,然后将处理好的 版本存在高速缓冲中,用以再次调用。存储过程将提高运行效率, 而且也加强了系统的安全机制。 在 SQL Server的系列版本中存储过程分为两类,系统提供的存储 过程和用户自定义存储过程 使用存储过程应用程序具有以下的优点: 存储过程能够提高程序的执行速度 2.存储过程能够减少网络流量 ·3.存储过程允许标准组件式编程
10.1 存储过程概述 • 存储过程是SQL Server服务器上一组预先定义并编译好的 Transact-SQL语句,它可以接受参数、返回状态值和参数值。存 储过程在第一次执行时将进行语法检查与编译,然后将处理好的 版本存在高速缓冲中,用以再次调用。存储过程将提高运行效率, 而且也加强了系统的安全机制。 • 在SQL Server 的系列版本中存储过程分为两类,系统提供的存储 过程和用户自定义存储过程。 • 使用存储过程应用程序具有以下的优点: • • 1. 存储过程能够提高程序的执行速度 • • 2.存储过程能够减少网络流量 • • 3.存储过程允许标准组件式编程 • 返回目录
密冀出社10.2存储过程的程序结构 存储过程的应用程序包括两部分:一个是存储过程的本身,它存 放并运行在数据库服务器端;另一个是客户端应用程序,它运行 在客户端,对存储过程进行调用。它们有不同的功能: 客户端应用程序的主要功能如下: 定义有关数据结构和主变量,为他们分配并初始化存储空间 ·2)连接数据库。 3)调用存储过程 4)完成事务的提交和回滚。 5)执行 CONNECT RESET语句。 ·服务器端存储过程的主要功能如下: 1)接受客户端应用程序传送的信息 2)作为与客户端应用程序相同的事务在数据库服务器上运行。 ·3)向客户端应用程序返回服务器运行结果。 返回目录
10.2存储过程的程序结构 • 存储过程的应用程序包括两部分:一个是存储过程的本身,它存 放并运行在数据库服务器端;另一个是客户端应用程序,它运行 在客户端,对存储过程进行调用。它们有不同的功能: • 客户端应用程序的主要功能如下: • 1) 定义有关数据结构和主变量,为他们分配并初始化存储空间。 • 2) 连接数据库。 • 3) 调用存储过程。 • 4) 完成事务的提交和回滚。 • 5) 执行CONNECT RESET语句。 • 服务器端存储过程的主要功能如下: • 1) 接受客户端应用程序传送的信息。 • 2) 作为与客户端应用程序相同的事务在数据库服务器上运行。 • 3) 向客户端应用程序返回服务器运行结果。 返回目录
忘電子工掌出社 10.3存储过程的创建 ·创建存储过程有两种方法,一是使用 Transaction-SQL 命令 Create Procedure,二是使用图形化管理工具企 业管理器( Enterprise Manager)。创建存储过程时 需要确定存储过程的三个部分:第一是所有的输入参 数以及传给调用者的输出参数,第二是被执行的针对 数据库的操作语句(包括调用其它存储过程的语句), 第三是返回给调用者的状态值,以说明调用是成功还 是失败 10.3.1使用企业管理器( Enterprise manager)创建 存储过程 返回目录
10.3存储过程的创建 • 创建存储过程有两种方法,一是使用Transaction-SQL 命令Create Procedure,二是使用图形化管理工具企 业管理器(Enterprise Manager)。 创建存储过程时 需要确定存储过程的三个部分:第一是所有的输入参 数以及传给调用者的输出参数,第二是被执行的针对 数据库的操作语句(包括调用其它存储过程的语句), 第三是 返回给调用者的状态值,以说明调用是成功还 是失败。 10.3.1使用企业管理器(Enterprise Manager) 创建 存储过程 • 返回目录
電子版独2.用 CREATE PROCEDURE命令创建存储过程 ·通过运用 Create Procedure命令能够创建存储过程,其语法格式 如下: CREATE PROCEDURE procedure_name[i number I [@parameter data_type y I VARYING[=default ouTPUt n WITH RECOMPILE ENCRYPTION RECOMPILE ENCRYPTIONI I FOR REPLICATION As Sql_statement[…n] 各参数的说明如下 procedure_name:是要创建的存储过程的名字。 @ parameter:是存储过程的参数 Data_type:是参数的数据类型。 VARYING:指定由 OUTPU参数支持的结果集,仅应用于游标型 参数 返回目录
• 10.3.2.用CREATE PROCEDURE 命令创建存储过程 • 通过运用Create Procedure 命令能够创建存储过程,其语法格式 如下: • CREATE PROCEDURE procedure_name [ ; number ] • [ { @parameter data_type } • [ VARYING ] [ = default ] [ OUTPUT ] • ] [ ,...n ] • [ WITH{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] • [ FOR REPLICATION ] • AS • Sql_statement [ ...n ] • 各参数的说明如下 • procedure_name:是要创建的存储过程的名字。 • @parameter:是存储过程的参数。 • Data_type:是参数的数据类型。 • VARYING:指定由OUTPUT 参数支持的结果集,仅应用于游标型 参数。 返回目录