1

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

所以在一个典型的 sp 我艾米有这样的陈述

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

这很好用。但是 [B] 数据库名称将来可能会更改。所以我想将其设为变量(另一个数据库的同义词)。一种方法当然是为数据库 [A] 中的 [B] 中的表创建同义词。我也不想使用动态 sql。

其他数据库(例如 Oracle)具有数据库链接之类的概念,它是任何其他数据库(可能在另一台服务器上)的符号名称

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

谢谢

4

1 回答 1

1

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

于 2013-03-12T00:38:41.617 回答