Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用第一个存储过程中的变量在另一个存储过程中调用一个存储过程_Sql_Sql Server_Sql Server 2005_Stored Procedures - Fatal编程技术网

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