1

重複の可能性:
SQL Server のストアド プロシージャからパラメーターのリストを取得するにはどうすればよいですか

Massive を使用して、一般的なストアド プロシージャ エグゼキュータを作成しています。基本的に、プロシージャの名前と可変数のパラメータを取る関数があります。次に、渡されたパラメーターを使用してそのストアド プロシージャを盲目的に実行し、結果を返すか、エラーを処理しようとします。

私の質問は、ストアド プロシージャを呼び出す前に、ストアド プロシージャが期待するパラメータを特定する方法はありますか?

4

1 に答える 1

5

これを試して:

SELECT 
    ProcedureName = pr.Name,
    ParameterName = p.Name,
    Typename = ty.name 
FROM 
    sys.parameters p
INNER JOIN 
    sys.procedures pr ON p.object_id = pr.object_id
INNER JOIN 
    sys.types ty ON p.user_type_id = ty.user_type_id
WHERE   
    pr.Name = '.....'   -- put your stored procedure name here
ORDER BY 
    p.Name, p.parameter_id

これにより、システム カタログ ビューが検査され、特定のプロシージャのパラメーターとそのタイプが表示されます。

システム カタログ ビューには、追加情報 (パラメーターに既定値があるかどうか、ある場合はその値、XML パラメーターかどうかなど) が含まれています。詳細については、MSDN のドキュメントを参照してください

于 2012-11-13T17:30:54.287 に答える