Sql 使用第一个存储过程中的变量在另一个存储过程中调用一个存储过程
我有一个存储过程,比如Sql 使用第一个存储过程中的变量在另一个存储过程中调用一个存储过程,sql,sql-server,sql-server-2005,stored-procedures,Sql,Sql Server,Sql Server 2005,Stored Procedures,我有一个存储过程,比如@Create_Dummy1,它被传递一个变量。在这个存储过程中,它被声明为@Dummy\u Variable1 接下来,我需要从@Create\u Dummy1调用另一个存储过程@Create\u Dummy2。我需要在exec语句中传递@Dummy\u Variable1 但是如果我尝试这样做,字符串@Dummy\u Variable1只会被传递,而不是它所持有的值。这应该可以: create procedure Create_Dummy1 ( @Dummy_V
@Create_Dummy1
,它被传递一个变量。在这个存储过程中,它被声明为@Dummy\u Variable1
接下来,我需要从@Create\u Dummy1
调用另一个存储过程@Create\u Dummy2
。我需要在exec
语句中传递@Dummy\u Variable1
但是如果我尝试这样做,字符串@Dummy\u Variable1
只会被传递,而不是它所持有的值。这应该可以:
create procedure Create_Dummy1
(
@Dummy_Variable1 int
)
as
exec Create_Dummy2 @Dummy_Variable1
Go
及
这就是你所说的:
exec Create_Dummy1 1
希望这有帮助。我正在执行其他过程中的过程,例如:
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
如果它仍然不起作用,您应该编辑您的问题以显示您的确切代码。您的exec语句是什么样子的?您是否正在使用
sp\u execute
并传递exec@Create\u Dummy2@Dummy\u Variable1
?@Shruti不要告诉我们,让我们看看。粘贴你的精确代码。@Shruti-人们在这里编辑问题,试图使它们更具可读性,遵循惯例,等等。为什么要回滚?这不起作用。这正是我所尝试的。它传递字符串[@Dummy_Variable1],而不是该变量中的值。但是让我指定存储在这个变量[@Dummy_Variable1]中的值是一个stringdbo.stored_procedure_name。
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