TSQL Synoym用于数据库名称

时间:2013-03-12 00:13:04

标签: tsql

我在sql server数据库[A]中有很多存储过程需要引用同一服务器中另一个数据库[B]中的表。

所以在一个典型的sp中,我有像

这样的陈述
  select * from [A].table1 inner join
                [B].table2 .....

这很有效。但是[B]数据库名称可能在将来某个时候发生变化。所以我想把它变成一个变量(另一个数据库的同义词)。一种方法当然是在数据库[A]中的[B]中创建表的同义词。另外我不想使用动态sql。

其他数据库(ex Oracle)有像数据库链接这样的概念,它是任何其他数据库的symberolic名称(可能在另一台服务器上)

想知道TSQL中是否有任何等效功能

由于

1 个答案:

答案 0 :(得分:1)

SQL Server没有数据库同义词。您唯一的选择是从[A]中的[B]创建所有必需对象的同义词。但是,您可以创建一个自动循环遍历[B]中对象的过程,并在[A]中创建它们的同义词。