联机丛书:执行存储过程
2008-04-28 02:00
274 查看
EXECUTE
执行标量值的用户定义函数、系统过程、用户定义存储过程或扩展存储过程。同时支持Transact-SQL批处理内的字符串的执行
若要唤醒调用函数,请使用EXECUTEstored_procedure中描述的语法。
语法
执行存储过程:[ [ EXEC [ UTE ] ]
{
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
}
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
[ WITH RECOMPILE ] 执行字符串:EXEC [ UTE ] ( { @string_variable | [ N ] 'tsql_string' } [ + ...n ] )参数
@return_status
是一个可选的整型变量,保存存储过程的返回状态。这个变量在用于EXECUTE语句前,必须在批处理、存储过程或函数中声明过。
在用于唤醒调用标量值用户定义函数时,@return_status变量可以是任何标量数据类型。
procedure_name
是拟调用的存储过程的完全合法或者不完全合法的名称。过程名称必须符合标识符规则。有关更多信息,请参见使用标识符。无论服务器的代码页或排序方式如何,扩展存储过程的名称总是区分大小写。
用户可以执行在另一中创建的过程,只要该用户拥有此过程或有在该数据库中执行它的适当的权限。用户可以在另一台运行Microsoft®SQLServer™的服务器上执行过程,只要该用户有适当的权限使用该服务器(远程访问),并能在数据库中执行该过程。如果指定了服务器名称但没有指定数据库名称,SQLServer会在用户默认的数据库中寻找该过程。
;number
是可选的整数,用于将相同名称的过程进行组合,使得它们可以用一句DROPPROCEDURE语句除去。该参数不能用于扩展存储过程。
在同一应用程序中使用的过程一般都以该方式组合。例如,在订购应用程序中使用的过程可以orderproc;1、orderproc;2等来命名。DROPPROCEDUREorderproc语句将除去整个组。在对过程分组后,不能除去组中的单个过程。例如,DROPPROCEDUREorderproc;2是不允许的。有关过程组的更多信息,请参见CREATEPROCEDURE。
@procedure_name_var
是局部定义变量名,代表存储过程名称。
@parameter
是过程参数,在CREATEPROCEDURE语句中定义。参数名称前必须加上符号(@)。在以@parameter_name=value格式使用时,参数名称和常量不一定按照CREATEPROCEDURE语句中定义的顺序出现。但是,如果有一个参数使用@parameter_name=value格式,则其它所有参数都必须使用这种格式。
默认情况下,参数可为空。如果传递NULL参数值,且该参数用于CREATE或ALTERTABLE语句中不允许为NULL的列(例如,插入至不允许为NULL的列),SQLServer就会报错。为避免将NULL参数值传递给不允许为NULL的列,可以在过程中添加程序逻辑或采用默认值(使用CREATE或ALTERTABLE语句中的DEFAULT关键字)。
value
是过程中参数的值。如果参数名称没有指定,参数值必须以CREATEPROCEDURE语句中定义的顺序给出。
如果参数值是一个对象名称、字符串或通过数据库名称或所有者名称进行限制,则整个名称必须用单引号括起来。如果参数值是一个关键字,则该关键字必须用双引号括起来。1
执行标量值的用户定义函数、系统过程、用户定义存储过程或扩展存储过程。同时支持Transact-SQL批处理内的字符串的执行
若要唤醒调用函数,请使用EXECUTEstored_procedure中描述的语法。
语法
执行存储过程:[ [ EXEC [ UTE ] ]
{
[ @return_status = ]
{ procedure_name [ ;number ] | @procedure_name_var
}
[ [ @parameter = ] { value | @variable [ OUTPUT ] | [ DEFAULT ] ]
[ ,...n ]
[ WITH RECOMPILE ] 执行字符串:EXEC [ UTE ] ( { @string_variable | [ N ] 'tsql_string' } [ + ...n ] )参数
@return_status
是一个可选的整型变量,保存存储过程的返回状态。这个变量在用于EXECUTE语句前,必须在批处理、存储过程或函数中声明过。
在用于唤醒调用标量值用户定义函数时,@return_status变量可以是任何标量数据类型。
procedure_name
是拟调用的存储过程的完全合法或者不完全合法的名称。过程名称必须符合标识符规则。有关更多信息,请参见使用标识符。无论服务器的代码页或排序方式如何,扩展存储过程的名称总是区分大小写。
用户可以执行在另一中创建的过程,只要该用户拥有此过程或有在该数据库中执行它的适当的权限。用户可以在另一台运行Microsoft®SQLServer™的服务器上执行过程,只要该用户有适当的权限使用该服务器(远程访问),并能在数据库中执行该过程。如果指定了服务器名称但没有指定数据库名称,SQLServer会在用户默认的数据库中寻找该过程。
;number
是可选的整数,用于将相同名称的过程进行组合,使得它们可以用一句DROPPROCEDURE语句除去。该参数不能用于扩展存储过程。
在同一应用程序中使用的过程一般都以该方式组合。例如,在订购应用程序中使用的过程可以orderproc;1、orderproc;2等来命名。DROPPROCEDUREorderproc语句将除去整个组。在对过程分组后,不能除去组中的单个过程。例如,DROPPROCEDUREorderproc;2是不允许的。有关过程组的更多信息,请参见CREATEPROCEDURE。
@procedure_name_var
是局部定义变量名,代表存储过程名称。
@parameter
是过程参数,在CREATEPROCEDURE语句中定义。参数名称前必须加上符号(@)。在以@parameter_name=value格式使用时,参数名称和常量不一定按照CREATEPROCEDURE语句中定义的顺序出现。但是,如果有一个参数使用@parameter_name=value格式,则其它所有参数都必须使用这种格式。
默认情况下,参数可为空。如果传递NULL参数值,且该参数用于CREATE或ALTERTABLE语句中不允许为NULL的列(例如,插入至不允许为NULL的列),SQLServer就会报错。为避免将NULL参数值传递给不允许为NULL的列,可以在过程中添加程序逻辑或采用默认值(使用CREATE或ALTERTABLE语句中的DEFAULT关键字)。
value
是过程中参数的值。如果参数名称没有指定,参数值必须以CREATEPROCEDURE语句中定义的顺序给出。
如果参数值是一个对象名称、字符串或通过数据库名称或所有者名称进行限制,则整个名称必须用单引号括起来。如果参数值是一个关键字,则该关键字必须用双引号括起来。1
相关文章推荐
- [转]SQL Server联机丛书:执行存储过程
- SQL Server联机丛书:执行存储过程
- SQL Server联机丛书:执行存储过程
- SQL Server联机丛书:执行存储过程
- SQL Server联机丛书:删除存储过程
- SQL Server联机丛书:查看存储过程
- SQL Server联机丛书:执行存储过程
- SQL Server联机丛书:删除存储过程
- 联机丛书:查看存储过程
- SQL Server联机丛书:查看存储过程
- 解决方法:对性能监视器计数器注册表值执行系统配置检查失败。有关详细信息,请参阅自述文件或 SQL Server 联机丛书中的“如何在 SQL Server 2005 中为安装程序增加计数器注册表项值”
- SQLServer联机丛书:查看存储过程
- oracle job 定时执行 存储过程
- .NET调用osql.exe执行sql脚本创建表和存储过程
- Linq如何执行存储过程
- JAVA执行存储过程接收返回值
- VC ado调用oracle执行存储过程获取记录集
- 远程执行SQL或远程调用存储过程
- shell执行oracle存储过程,获得存储过程返回值
- 启动SQL Server 时自动执行存储过程