【问题标题】:Executing all the lines before :CONNECT SQLCMD执行 :CONNECT SQLCMD 之前的所有行
【发布时间】:2015-07-31 04:14:43
【问题描述】:

我的 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

问题是:

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

请帮帮我:(

【问题讨论】:

    标签: sql sql-server ssms sqlcmd


    【解决方案1】:

    如果您尝试从其他服务器获取数据,那么您可以这样做;

    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 了解如何查询其他服务器上的数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多