1

データベースから読み取るストアドプロシージャのラッパーメソッドを生成するO/Rデータベースラッパーを作成しました。

ここで、ストアドプロシージャの入力パラメータがデフォルトでNULLになっている場合は、カスタムラッパーコードを作成する必要があります。問題は次のとおりです。次を使用してストアドプロシージャパラメータを取得します。

SqlCommandBuilder.DeriveParameters(command)

そしてそれはパラメータのデフォルトをもたらしません。それらのデフォルトを調べる方法はありますか?それらはデータベースのどこかに保存されていますか?

ところで、私はSQLServer2008を使用しています

4

2 に答える 2

1

sys.sql_modulesT-SQLストアドプロシージャの場合、これを行う唯一の手段は、テーブルからプロシージャ定義を解析することです。列に関するsys.parametersテーブルのBOLからhas_default_value

1=パラメータにはデフォルト値があります。

SQL Serverは、このカタログビューでCLRオブジェクトのデフォルト値のみを維持します。したがって、この列のTransact-SQLオブジェクトの値は0です。Transact-SQLオブジェクトのパラメーターのデフォルト値を表示するには、sys.sql_modulesカタログビューの定義列を照会するか、OBJECT_DEFINITIONシステム関数を使用します。

これは、おそらくそれを実行するT-SQL関数を作成した人への記事です。ストアドプロシージャパラメータのデフォルト値を把握します。

于 2010-04-12T04:30:37.837 に答える
-1

基本的に、sqlcommandbuilderクラスは、データセットに加えられた変更をSQLサーバーと調整するために使用される単一のテーブルコマンドを自動的に生成します。

于 2010-11-22T16:41:45.403 に答える