以下に示すようなストアドプロシージャ内で使用するストアドプロシージャを作成する必要があります。これは可能ですか?SQL Server 2008で別のストアドプロシージャ内でストアドプロシージャを作成する方法
CREATE procedure parentSP
as
--child SP definition.
CREATE procedure childSP1 @inputArg varchar(50)
as
--do something.
Go
--call child sp within parentSP
execute childSP1 '10'
Go
これは奇妙な要件liksだ - これを行うためのあなたの動機は何ですか? –
あなたの質問に答えて、私はストアドプロシージャ内でストアドプロシージャを作成する必要があります。推論の理由は、filepropertyキーワードを使用するカスタムストアドプロシージャを使用してtempdbの使用状況を追跡することです。現在のデータベースコンテキスト内でのみ使用できます。私は正確な結果を得ることができるように、tempdbの中にサブストアドprocを作成しておき、ストアドプロシージャが存在するかどうかをチェックします。 tempdbは毎回再作成されるので、保存されたproc作成コードを保持する必要がありますが、毎回それを再作成する心配はありません。 –
これを実行したい理由は、プロシージャー、関数、タイプなどをこのプロシージャーに対してのみ一時的に作成し、プロシージャーが完了する前にそれらをすべて削除したい場合です。 – Ellis