连接名称的SQL Server别名

连接名称的SQL Server别名,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,如果在SQL Server存储过程中有一个select语句,其中包含对不在当前连接中的表的联接,则可以这样做 Select a from Table1 t1 inner join on connection2.DataBase2.table2 t2 on t1.a = t2.a 我想知道是否可以为我的外部连接设置别名,例如 Alias MyConnection = Connection2 Select a from Table1 t1 inner join on MyConnection

如果在SQL Server存储过程中有一个
select
语句,其中包含对不在当前连接中的表的联接,则可以这样做

Select a 
from Table1 t1
inner join on connection2.DataBase2.table2 t2 on t1.a = t2.a
我想知道是否可以为我的外部连接设置别名,例如

Alias MyConnection = Connection2

Select a 
from Table1 t1
inner join on MyConnection.DataBase2.table2 t2 on t1.a = t2.a
这是因为在本例中,我的外部连接,
Connection2
在SQL Server存储过程中多次出现,并且在某个时刻,数据库,
Database2
正在移动到一个新连接,我宁愿只更改一行,而不愿更改多行

我希望这是明确的,谢谢


Bob

您可以为链接服务器(或同一数据库实例中的另一个db)创建~synnyn)


但同义词需要创造。没有“本地范围”别名。。(aliai?

你所说的对外联系是什么意思?您发布的方式是,这是一个不同的数据库。这就是你的意思吗?Database2是要重命名还是要移动到新服务器?根据这里的答案,答案大不相同。为什么不使用范围为“connection2.database2.table2”的表的同义词呢?通过这种方式,您可以拥有一个脚本,该脚本将根据您拥有的每个环境的“connection2”删除并重新创建同义词。您是否希望将MyConnection.DataBase2作为DB2来执行类似的操作。所谓外部连接,我指的是另一台服务器上的数据库,
CREATE SYNONYM LinkedTableA
FOR
ServerName.DBName.dbo.TableA


SELECT * FROM LinkedTableA