1

同じサーバー内の別のデータベース[B]のテーブルを参照する必要があるSQLサーバーデータベース[A]に多くのストアドプロシージャがあります。

だから典型的なspで私はエイミーのようなステートメントを持っています

  select * from [A].table1 inner join
                [B].table2 .....

これはうまく機能します。ただし、[B]データベース名は将来変更される可能性があります。そのため、それを変数(別のデータベースの同義語)にします。もちろん、1つのアプローチは、データベース[A]の[B]のテーブルに同義語を作成することです。また、動的SQLを使用したくありません。

他のデータベース(Oracleなど)には、他のデータベース(おそらく別のサーバー上)へのシンボリック名であるデータベースリンクのような概念があります

TSQLで利用可能な同等の機能があるかどうか疑問に思います

ありがとう

4

1 に答える 1

1

SQLServerにはデータベースの同義語はありません。唯一のオプションは、[A]の[B]から必要なすべてのオブジェクトの同義語を作成することです。ただし、[B]のオブジェクトを自動的にループし、[A]の同義語を作成するプロシージャを作成することはできます。

于 2013-03-12T00:38:41.617 に答える