1

.NETコードからSQLServerストアドプロシージャを分析して、返されるデータ/列(OUTPUTパラメーターではない)のメタデータを取得したいと思います。DataSet i VisualStudioにspをドラッグ/ドロップすると、列が自動的に生成されます。これは、私がテストしているコード生成に役立つ可能性があります。

プロシージャには、SELECT a、b FROM cなどの単純なselectステートメントが含まれており、aとbに関するメタデータを取得したいと思います。

4

2 に答える 2

2

使用SET FMTONLY ON(および実行)できますが、これはちょっとした失敗です。すべてのシナリオ (ブランチなど) をカバーしているわけではなく、一部のコード (拡張ストアド プロシージャなど) を実行することもできます。

または、テーブル値関数 (udfs) を使用します。これらには、より豊富で形式的なメタデータがあります。

于 2009-02-05T16:09:51.790 に答える
1

SQL Server 2012 / Denaliでは、を使用できますsys.dm_exec_describe_first_result_set_for_object

これにより、プロシージャの最初の結果セットに関する情報が返されます(この結果セットがすべてのコードパスによって返される限り)

于 2011-04-02T23:42:23.733 に答える