2013-03-12 14 views
1

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

因此,在一个典型的SP我艾米有一个像

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

这种运作良好。不过在[B]数据库名称可能会在未来某个时候发生变化。所以我想提出一个变量(同义词声明到另一个数据库)。一种方法当然是在数据库[A]的[B]中为表创建同义词。另外我不想使用动态SQL。

其他数据库(如Oracle)的有像这是一个symberolic名到任何其他数据库(也许另一台服务器上)

想知道数据库链接的概念,如果在TSQL提供

感谢

+0

[链接服务器](http://msdn.microsoft.com/en-us/library/ff772782.aspx)虽然更适合DBA论坛。不积极,你可以创建一个链接到同一台服务器... – xQbert 2013-03-12 00:29:59

回答

1
任何同等功能

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

相关问题