SQL2005 在程序中调用另外一个预存程序

在一个预存程序中调用另外一个预存程序,可以使用下面两种方式进行调用:
 



   
    EXECUTE <欲执行之预存程序的名称>
 
 





   
    EXEC <欲执行之预存程序的名称>
 
 





若被调用的欲执行之预存程序的名称拥有传回值,且您需要接收该传回值,则在执行该欲执行之预存程序的时候,必须使用 OUTPUT 关键词来让被调用的预存程序可以接收回传值。只是您必须先在被调用的预存程序中,利用  OUTPUT 关键词来加以建立并指定要回传的数值之数据型别。如下所示:




   
    CREATE PROCEDURE #欢迎 @strInput NVARCHAR(50) OUTPUT
AS
  BEGIN
    SET @strInput = @strInput  '欢迎你';
  END;
GO

CREATE PROCEDURE #您好
AS
  BEGIN
    DECLARE @strHi NVARCHAR(50);
    SET @strHi = '嗨!您好!';
    EXECUTE #欢迎 @strHi OUTPUT;
    PRINT @strHi;
  END
GO

-- 现在要测试「#您好」这个预存程序是不是可以正确被执行
-- 我们使用三种方式进行测试
PRINT '使用 EXECUTE 陈述式来测试';
EXECUTE #您好;
PRINT '';
GO

PRINT '使用 EXEC 陈述式来测试';
EXEC #您好;
PRINT '';
GO

PRINT '直接使用 Stored Procedure 名称来测试看看';
GO
#您好;
GO
/td>
 





请注意:
这个范例所建立的预存程序是暂时性的,当您所使用的联机与 SQL Server 执行个体中断之后,这些预存程序就会自动被移除。

友情提示:此文并不表示本站肯定持有相同观点,转载请注明出处。
 您可能对 [SQL Server] 的这些文章也感兴趣:

轻松掌握执行一个安全的SQL Server安装  SQL Server 死锁处理和优化心得
Microsoft SQL Server 2005 中的 XML 支持(1)  SQLServer身份验证管理子程序
SQL Server性能分析参数  SQL Server 7.0 入门(六)
分页SQL Server存储过程  SQL Server 2005无法重装问题的解决办法
解决SQLServer导入数据时id自增属性丢失及缩小日志  解析SQLServer怎样才能访问sybase中的表
获取SqlServer2005表结构(字段,主键,外键,递增,描述)  将SQL Server中所有表的列信息显示出来
SQL Server 2005 产品线的扩展  SQL Server实用操作小技巧集合
SQL Server 2005生成直方图简介  网络数据库设计入门(六)SQL Server数据库及其基本操作
XP上不能安装MicrosoftSQLSERVER2000吗  在SQL2k降序索引上使用中bug
关于SQL server中字段值为null的查询  SQL Server 2008与Oracle Database 11g全方位比较