- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer2005中强制重新编译存储过程的方式有以下3种
第13章 存 储 过 程 13.1 存储过程的基本概念 13.1.1 存储过程的定义 存储过程(Stored Procedure)是一组完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行存储过程。 13.1.2 存储过程的优点 在SQL Server中使用存储过程有以下几个优点。 (1)存储过程已在服务器注册。 (2)存储过程允许模块化程序设计。 (3)存储过程可以加快运行速度。 (4)存储过程可以减少网络通信流量。 (5)存储过程可以作为安全性机制。 13.1.3 系统存储过程 在SQL Server 2005中,许多管理活动和信息活动都是通过一种特殊的存储过程执行的,这种存储过程称为系统存储过程。系统存储过程主要存储在master数据库中并以sp_为前缀。 系统存储过程主要是从系统表中获取信息,从而为数据库系统管理员管理SQL Server提供支持。 13.2 创建存储过程 13.2.1 创建存储过程 创建存储过程的完整语法如下: CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH procedure_option [ ,...n ] ] [ FOR REPLICATION ] AS { sql_statement [;][ ...n ] } [;] procedure_option ::= [ ENCRYPTION ] [ RECOMPILE ] 其中各参数的含义如下。 (1)schema_name 存储过程所属架构的名称。 (2)procedure_name 新存储过程的名称。 (3)@parameter 过程中的参数。参数名必须以“at”符号(@)为前缀,在CREATE PROCEDURE语句中可以声明一个或多个参数。 (4)[ type_schema_name. ] data_type 参数以及所属架构的数据类型。 (5)VARYING 指定结果集作为输出参数。仅适用于cursor参数。 (6)default 参数的默认值。 (7)OUTPUT 指示参数是输出参数。 (8)RECOMPILE 指示数据库引擎不缓存该存储过程的计划,该过程在运行时编译。 (9)ENCRYPTION 指定将存储过程的定义进行加密。 (10)FOR REPLICATION 指定不能在订阅服务器上执行为复制创建的存储过程。 (11)sql_statement 要包含在存储过程中的一个或多个Transact-SQL语句。 13.2.2 使用参数 存储过程通过参数来与调用它的程序通信。在程序调用存储过程时,可以通过输入参数将数据传给存储过程,存储过程可以通过输出参数和返回值将数据返回给调用它的程序。 1.使用输入参数 执行带输入参数的存储过程时,SQL Server提供了以下两种传递参数的方式。 (1)按位置传递。 (2)通过参数名传递。 2.使用默认参数 如果存储过程中有输入参数,在执行存储过程时没有给出参数,则系统会显示错误提示。 3.使用输出参数 通过定义输出参数,可以从存储过程中返回一个或多个值。定义输出参数需要在参数定义的数据类型后使用关键字OUTPUT,或简写为OUT。 13.3 操作存储过程 13.3.1 修改存储过程 修改存储过程的语法如下: ALTER { PROC | PROCEDURE } [schema_name.] procedure_name [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH procedure_option [ ,...n ] ] [ FOR REPLICATION ] AS ?{ sql_statement [ ...n ] } procedure_option
文档评论(0)