我有一个脚本,其中包含许多连接到各种链接服务器的 select into 语句。
我希望能够多次运行该脚本,但在每种情况下,服务器和数据库都会发生变化,并且几个表名也会发生变化。
我希望在开始时使用变量来定义服务器一次,如下所示,但当然它们超出了范围,因为它们只是局部变量。
declare @table_that_changes varchar(100)
declare @linked_server1 varchar(20)
declare @linked_server2 varchar(20)
declare @DB_onserver1 varchar(100)
declare @DB_onserver2 varchar(100)
select @linked_server1 = '[server109]',
@linked_server2 = '[server104]',
@DB_onserver1 = '[database203434]',
@DB_onserver2= '[database416541]',
@table_that_changes = 'LossTable_2191'
存储这些值的最佳方法是什么,以便我可以做(例如)的等价物
select * from @linked_server1.@DB_onserver1.dbo.table1
在包含大量选择语句的脚本中有效?