LZY'Blog

记录LZY的生活、行程!

« 使用CREATE PROC语句创建存储过程查看SQL存储过程的定义 »

使用EXECUTE执行SQL存储过程

  存储过程创建完成后,可以通过EXECUTE执行,可简写为EXEC。

  1、EXECUTE

  EXECUTE用来执行Transact-SQL中的命令字符串、字符串或执行下列模块之一:系统存储过程、用户定义存储过程、标量值用户定义函数或扩展存储过程。

  EXECUTE的语法格式如下:

[{EXEC | EXECUTE}]
   {
      [@return_status=]
	  {module_name [;number] | @module_name_var}
	  [[@parameter=]{value
	                   | @variable [OUTPUT]
					   | [DEFAULT]
					}
	  ]
      [,...n]
      [WITH RECOMPILE]
   }
[;]

  EXECUTE语句的参数及说明如下表所示。

EXECUTE语句的参数及说明
参  数 描  述
@return_status 可选的整型变量,存储模块的返回状态。这个变量用于EXECUTE语句前,必须在批处理、存储过程或函数中声明过
module_name 是要调用的存储过程或标量值用户定义函数的完全限定或者不完全限定名称。模块名称必须符合标识符规则。无论服务器的排序规则如何,扩展存储过程的名称总是区分大小写
number 是可选整数,用于对同名的过程分组。该参数不能用于扩展存储过程
@module_name_var 是局部定义的变量名,代表模块名称
@parameter module_name的参数,与在模块中定义的相同。参数名称前必须加上“@”符号
value 传递给模块或传递命令的参数值。如果参数名称没有指定,参数值必须以在模块中定义的顺序提供
@variable 是用来存储参数或返回参数的变量
OUTPUT 指定模块或命令字符串返回一个参数。该模块或命令字符串中的匹配参数也必须使用关键字OUTPUT创建。使用游标变量作为参数时使用该关键字
DEFAULT 根据模块的定义,提供参数的默认值。当模块需要的参数值没有定义默认值并且缺少参数或指定了DEFAULT关键字,会出现错误
WITH RECOMPILE 执行模块后,强制编译、使用和放弃新计划。如果该模块存在现有查询计划,则该计划将保留在缓存中

注意

  后续版本的Microsoft SQL Server将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

  2、使用EXECUTE执行存储过程

  【例】使用EXECUTE执行存储过程Proc_Stu。

  SQL语句如下:

EXEC Proc_Stu

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 |

Copyright 2009-2012 LZY'Blog. | ICP:蜀ICP备05027543号