0

2つまたは3つの異なるテーブルに分散された約10個の制約があるDBで作業しており、DEFAULTこれらすべての属性の値をパラメーターとして受け取るストアドプロシージャを作成する必要があります。ただし、値が受信されない場合は、これらのパラメーターで対応するテーブルのデフォルト値を想定する必要があります。それを行う簡単な方法がないことを知って、私はデフォルト値を返すカスタムUDFを作成し、各パラメーターのデフォルト値として制約をDEFAULT (dbo.SomeFunction()) FOR [Attribute]追加し、追加することを考えました。= dbo.SomeFunction()ただし、これを実現するための最良の方法は何ですか。

1)すべての属性にUDFを記述し、実行を簡素化しますが、最終的には10個の異なる関数になります。また

2)単一を記述し、または異なるテーブル/属性のペアdbo.GetDefault(TableName NVARCHAR(32), AttributeName NVARCHAR(32)で使用します。IF ... ELSE ...SWITCH

どう思いますか?

4

1 に答える 1

1

デフォルトごとに 1 つの udf が必要です。

  • データ型は同じではありません
  • コードが進化するにつれて、計算された列またはスキーマバインドされたビューで依存関係が発生します。別のものが必要な場合、変更するのは面倒です
于 2011-06-13T08:54:43.980 に答える