使用来自第一个存储过程的变量在另一个存储过程中调用一个存储过程

时间:2012-10-11 07:59:28

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

我有一个存储过程说@Create_Dummy1正在传递一个变量。这在此存储过程中声明为@Dummy_Variable1

接下来,我需要从@Create_Dummy2调用另一个存储过程@Create_Dummy1。我需要在@Dummy_Variable1语句中传递exec

但如果我尝试这样做,则只传递字符串@Dummy_Variable1而不是它所持有的值。

2 个答案:

答案 0 :(得分:5)

我正在其他程序中执行这样的程序:

DECLARE @childResult int, @loaErrorCode int, @loaErrorMessage varchar(255) 
EXEC @childResult = [dbo].[proc_sub_getSomething] @schemes_id = @foo_schemes_i, @errorCode = @loaErrorCode OUTPUT , @errorMessage = @loaErrorMessage OUTPUT

如果它仍然不起作用,您应该编辑您的问题以显示您的确切代码。

答案 1 :(得分:3)

这应该有效:

create procedure Create_Dummy1
(
    @Dummy_Variable1  int
)
as 

exec Create_Dummy2 @Dummy_Variable1

Go

create procedure Create_Dummy2
(
    @Dummy_Variable1  int
)
as 

Select * From yourTable WHERE tableColumn = @Dummy_Variable1

这就是你所说的:

exec Create_Dummy1 1

希望这有帮助。