2016-08-17 6 views
0

実行時にストアドプロシージャのリストを実行するスクリプトをT-SQLで記述する必要があります(おそらくストアドプロシージャを作成しますか?)。ストアドプロシージャのスクリプトを作成するにはどうすればよいですか?

私はこの

CREATE PROCEDURE dbo.sproc_execute 
AS 
EXEC sp_CustomSproc 'param1' , 'param2' 
GO 
EXEC sp_CustomSproc 'paramA' , 'paramB' 
GO 
EXEC sp_CustomSproc 'paramX' , 'paramY' 
GO 
EXEC sp_CustomSproc 'param3' , 'param4' 
GO 

各パラメータのようなものを想像するが、同じストアドプロシージャから異なる結果を返し、絶対に必要とされています。それを動作させるように動作しますが、それを行うには正しい方法ですか?あなたは確かにテーブル値パラメータを使用するPROCを書き直す方が良いと、その後のパラメータで送信しないならば検討し、繰り返し同じPROCを呼び出すことができますが

+5

「GO」を削除するだけです – Lamak

+0

最終出力は何ですか? – p2k

+0

私たちは1つのテーブルにデータを持ち、paramsはそのテーブルからの出力を決定し、新しいテーブルに追加されて動作します。 – inFAM1S

答えて

1

この

CREATE PROCEDURE dbo.sproc_execute 
AS 
BEGIN 

EXEC sp_CustomSproc 'param1' , 'param2' 
EXEC sp_CustomSproc 'paramA' , 'paramB' 
EXEC sp_CustomSproc 'paramX' , 'paramY' 
EXEC sp_CustomSproc 'param3' , 'param4' 

END 
0

のような手順を書きますあなたは欲しい。選択は、現在このプロセスが他のプロセスによってどれくらい呼び出されているかによって異なります。これがすでに多くの場所で使用されているのであれば、これは実用的ではないかもしれません。しかし、これがまだprodされていない新しいprocであれば、代わりにこの方法を検討してください。このようにして、後で複数のパラメータを変更する必要がある場合、新しいprocを記述する必要はありません。

+0

新しいコンポーネントの開発が完了するまで、SPROCは一時的な手段です。 SPROCは、私よりもはるかに知識のある人によっても書かれていましたので、私は部分的に新しいものを作り直すことに迷っています。しかし、それは1か所でしか使用されていませんが、数ヶ月でここで交換されるため、完全に再加工する時間には見えません。顧客はその間に作業するために製品を必要とするだけです。 ご意見ありがとうございました。私はまだSQLで学ぶことがたくさんあります。 – inFAM1S

関連する問題