データベースのスカラー関数を更新したい。この関数は、キーテーブルのいくつかの計算列に使用されるため、更新しようとすると依存関係エラーが発生します。列を明示的に削除し、関数を更新して列を再度追加できますが、余計な手間をかけずに列の順序が変更され、他の意図しない結果が生じる可能性があります。もっときれいな方法はあるのだろうか?
4
実際の関数を呼び出すダミー関数を作成することで、これを部分的にのみ解決しました。もちろん、シグネチャが変更された場合、それは再び終わりです。
残念ながら、これを行うための「魔法」または「よりクリーンな」方法はないと思います。関数を変更する必要がある場合-列を削除し、関数を変更して、すべての列を再度追加する必要があります。これを回避する方法はありません。
—
marc_s 2012年
@marc_sまあ、これは一見の価値があります。この辺りにはたくさんの賢い人がいます:)
—
robertc
上記のコメントに同意します。SYNONYMがここでいくつかのヘルプを提供するスコープがあったと思われますが(計算された列でSYNONYMを参照)、一度作成したシノニムを変更して別のオブジェクトに「リダイレクト」することはできません。
—
AdaTheDev 2012年
それでも、CLR UDTの定義を更新するほど痛みを伴うことはありません(変更がメソッドの微調整であり、ストレージの表現にまったく影響を与えない場合でも)
—
Martin Smith