【发布时间】:2016-04-20 19:57:07
【问题描述】:
我有以下 SQL openquery
SELECT @TSQL = 'SELECT * FROM OPENQUERY(RMSPROD2,''SELECT COUNT(DISTINCT W.Bond) AS NoBID_Count
FROM TIB.WRMAST w
WHERE (w.BID In (''No Bid'', ''No Cost'', ''None'') AND w.CtlNumber = ''''' + @WarControlID + ''''''')'
当我运行此查询时,我收到以下错误:
SELECT * FROM OPENQUERY(RMSPROD2,'SELECT COUNT(DISTINCT W.Bond) AS NoBond_Count
FROM TIBURON.WRMAST w
WHERE (w.Bond In ('No Bond', 'No Bail', 'None') AND w.CtlNumber = ''575403''')
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'No'.
抛出的错误是什么我在设计窗口中没有任何问题的迹象
【问题讨论】:
-
为什么要为查询构建文本字符串?为什么不直接运行它?
-
我看到 Print@TSQL 的错误消息显示了一个不同的 WHERE 子句,但是在我发布问题时这是一个错误。无需编辑即可剪切和粘贴。
-
您应该使用实际代码和错误更新问题。
-
我正在对 oracle 链接服务器运行查询,而 OpenQUERY 不允许变量
-
如果我知道如何做到这一点,我很乐意更新问题
标签: sql sql-server openquery