执行之前的所有行:CONNECT SQLCMD

时间:2015-07-31 04:14:44

标签: sql sql-server ssms sqlcmd

我的SQL查询看起来像这样,并在SSMS中以SQLCMD模式执行:

DECLARE @tempTable TABLE(acct nvarchar(50))

INSERT INTO @tempTable (Acct) 
   (select acct from tUsers)

:CONNECT otherserver

USE XXXDb

Select * 
from tUserInfo 
inner join @tempTable on tUserInfo.Acct = @tempTable.Acct

GO

问题是:

在将所有记录插入@tempTable之前,:CONNECT会被执行。因此查询失败:( :( :(

请帮帮我:(

1 个答案:

答案 0 :(得分:0)

如果您尝试从其他服务器获取数据,那么您可以执行此操作;

DECLARE @tempTable TABLE(
    acct nvarchar(50)
)

INSERT INTO @tempTable (Acct) (select acct from tUsers)

Select * from 
[otherserver].[XXXDb].[dbo].[tUserInfo] as ui 
inner join @tempTable on ui.Acct = @tempTable.Acct
GO

请参阅此answer,了解如何在其他服务器上查询数据库。