7

@Create_Dummy1変数が渡されていると言うストアドプロシージャがあります。@Dummy_Variable1これは、このストアド プロシージャのように宣言されます。

次に @Create_Dummy2、 から別のストアド プロシージャを呼び出す必要があります@Create_Dummy1。声明を提出@Dummy_Variable1する必要があります。exec

しかし、これを行おうとすると、文字列@Dummy_Variable1が保持する値ではなく、文字列が渡されるだけです。

4

2 に答える 2

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

それでもうまくいかない場合は、質問を編集して正確なコードを表示する必要があります。

于 2012-10-11T08:30:18.020 に答える
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

お役に立てれば。

于 2012-10-11T08:16:47.200 に答える