したがって、2 つの異なるデータベースがあり、ストアド プロシージャが他のデータベースを参照して情報を取得する必要があるという状況があります。通常、クエリは次のように記述します。
select * from Mercury.dbo.MyTable a join Purchasing.dbo.OtherTable b on a.a = b.a
これは本番環境と開発環境では問題なく機能しますが、最近では開発を Dev/QA/ST に分割し、環境に合わせて異なるバージョンのデータベースを使用しています。
Example
Purchasing, PurchasingQA, PurchasingST
Mercury, MercuryQA, MercuryST
そのため、QA のストアド プロシージャが開発用のデータベースを参照するため、コードをプロモートするときに問題が発生しています。
私の質問は、環境変数に基づいてアクセスされているデータベースを変更するにはどうすればよいですか? 私はこれに DynSQL を使い始めましたが、これにより、コードの保守がさらに困難になります。
おそらく、データベース全体の「DB エイリアス」を作成する方法はありますか?