存储过程的缺省返回值

时间:2012-05-16 09:47:16

标签: sql-server sql-server-2005 stored-procedures sql-server-2000

我是SQL Server的新手。目前我正在研究现有的源代码,我有一些不清楚的存储过程

例如:

My_Stored_Procedure_1

CREATE PROC [dbo].[My_Stored_Procedure_1]
    @ID INT,
    @DATE DATETIME
AS
BEGIN
    UPDATE query...
    PRINT 'ID is ' + CAST(@ID AS VARCHAR(10))
END

My_Stored_Procedure_2

CREATE PROC [dbo].[My_Stored_Procedure_2]
   @RESULT INT
AS
BEGIN
   EXEC @RESULT = My_Stored_Procedure_1 // Unclear point
END

我的问题是,我没有看到My_Stored_Procedure_1的任何返回值,那么将返回@RESULT变量的内容?也许是执行的存储过程的默认返回值?

非常感谢。

1 个答案:

答案 0 :(得分:1)

@Result将具有在执行存储过程My_Stored_Procedure_2时传递的默认值。

语句EXEC @RESULT = My_Stored_Procedure_1将执行并出现错误并终止My_Stored_Procedure_2的执行,因为在调用它时没有将两个输入参数传递给My_Stored_Procedure_1 sp。