我是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
变量的内容?也许是执行的存储过程的默认返回值?
非常感谢。
答案 0 :(得分:1)
@Result将具有在执行存储过程My_Stored_Procedure_2时传递的默认值。
语句EXEC @RESULT = My_Stored_Procedure_1
将执行并出现错误并终止My_Stored_Procedure_2的执行,因为在调用它时没有将两个输入参数传递给My_Stored_Procedure_1 sp。