リンク先サーバーのユーザー定義関数を使用していた以前のカウンターパートからストアドプロシージャを継承しました。呼び出し元サーバーはSQL Server 2008を使用し、リンクサーバーはSQL Server 2005と2000の互換性を使用します。リンクされたサーバーからUDFを呼び出すより良い方法はありますか?
リンクサーバーからの呼び出しUDFは許可されていないため、呼び出し側サーバーで関数を複製することができました。関数は1つのパラメータを取り、スカラーint値を返します。これは、ストアドプロシージャ内の選択した列のいずれかで使用されます。
select
columnA,
columnB,
fn_Function(columnC) as columnC_Alias
from TableD
このすべてはうまく動作しますが、リンクサーバー上の関数は、呼び出し元のサーバー上でこの重複を知らない誰かによって更新される場合、問題が発生する可能性があります2つのバージョン間に矛盾が生じます。
リンクサーバーで機能をカプセル化するためにSPを作成する方法はわかっていますが、ここではあまり効果がありません。
良いアプローチがありますか?
ていますあなたはそれにパラメータを渡しますか?あなたの例には何もありません。もしそうなら、より代表的な例を教えてください。 – RBarryYoung
はい、あります。ちょうど1つで、それはスカラーのint値を返します。複雑すぎるものはありません。 – deutschZuid
ビューでそのselectステートメントをラップして、呼び出し元サーバーのSPからビューを呼び出そうとしましたか? –