2009-04-21 5 views
0

こんにちはすべて私はsprocから別のsprocに生成されたIDを渡す方法を探しています。1つのsprocからIDを取得し、それを別のsprocに渡すにはどうすればよいですか?

すなわち

@name varchar(12), 
@descript varchar(55) 
@test_date date, 
@test_result varchar(1) 
BEGIN 
    EXEC ts_create_item @name, @descript 
END 
if (@test_date is not null) or (isnull(@test_result_id,'')!='') 
BEGIN 
    Exec ts_update_test_results @itemid(generated from the sproc before), @test_date, @test_result 
End 

SQL Serverの中でこれを行う方法はありますか?

おかげ

答えて

1

はそうあなたが

Create proc SomeProc (@parm1 int, @parm2 int, @id int = null OUTPUT) 
as 
Begin 
    ...do some insert 
    select @id = scope_identity() 
End 

のような以前のPROCを宣言し、出力が両方の時にパラメータ すなわちを宣言し、割り当てる指定する必要があり、覚えているでしょう出力変数

を使用してください。

Exec someproc @parm1, @parm2, @id OUTPUT 

代わりにあなたが

例えば、結果を保持するために、ローカル変数を使用することができます

create proc somesample(@in int) 
as 
Begin 
    select @in * 2 
End 

declare @var int 
exec @var = somesample 1 
print @var 
2 
+0

ありがとうcmsjr。私はこれを試してみよう! – AlteredConcept

+0

np、問題がある場合はお知らせください。 – cmsjr

関連する問題