动态查询未在SSMS中运行

时间:2017-10-13 20:13:18

标签: sql-server informix dynamic-sql linked-server

我在动态查询中使用LinkedServer直接通过SQL Server访问IBM Informix数据库。我无法弄清楚为什么动态查询没有在ms sql server中执行,而在informix中完全没问题。请告知我被严重困扰。

THE SCRIPT:

 DECLARE @TSQL varchar(8000), @VAR varchar(MAX)
 SELECT  @VAR = '2017-10-13 00:00:00'
 SELECT  @TSQL = 'SELECT * FROM OPENQUERY ( MyLinkServer,''SELECT
                  ccd.transfer 
           FROM ( SELECT * FROM tableA AS ac 
           WHERE ac.startdatetime >= '''+@VAR+''') as acd
           INNER JOIN( SELECT * FROM tableB where active=''t'') AS r ON
           r.resourceid=acd.resourceid '')'


  **EXEC(@TSQL) -- GIVES ERROR.**

打印TSQL:

Error Print

1 个答案:

答案 0 :(得分:0)

问题出现在以下部分:

INNER JOIN( SELECT * FROM tableB where active=''t'')

我添加了额外的单引号('),例如active = ''''t''''。这解决了问题,它像一个编钟:)。谢谢大家