-1

我是 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变量?可能是已执行存储过程的默认返回值?

非常感谢。

4

1 回答 1

1

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

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

于 2012-05-16T09:54:34.123 回答