declare @maxTime varchar(25)
select @maxTime=''''+max(CONTACTENDTIME)+'''' from T_Pub_CommonInfo
SELECT * FROM openquery(ORA8172,'SELECT * FROM ICDMAIN.T_PUB_COMMONINFO WHERE CONTACTENDTIME>[email protected]+' AND STAFFCITY =''05'' AND ACCEPTERNO IN (''4085'',''4086'',''4087'',''4088'',''4089'',''4090'',''4096'')')
服务器: 消息 170,级别 15,状态 1,行 9
第 9 行: '+' 附近有语法错误。
各路高手,请帮忙解决一下,语法哪里错了,谢谢。
------解决方案--------------------
declare @str varchar(2000)
set @str='SELECT * FROM ICDMAIN.T_PUB_COMMONINFO WHERE CONTACTENDTIME>[email protected]+' AND STAFFCITY =''05'' AND ACCEPTERNO IN (''4085'',''4086'',''4087'',''4088'',''4089'',''4090'',''4096'')'
SELECT * FROM openquery(ORA8172,@str)
------解决方案--------------------
openquery 带参数 。。。 还是直接拼字符串吧!
------解决方案--------------------
字符串左右需要单引号
------解决方案--------------------
OPENQUERY ( linked_server ,'query' )
参数
linked_server
表示链接服务器名称的标识符。
' query '
在链接服务器中执行的查询字符串。该字符串的最大长度为 8 KB。
OPENQUERY 不接受其参数的变量
------解决方案--------------------
declare @maxTime varchar(25)
select @maxTime=trim(max(CONTACTENDTIME)) from T_Pub_CommonInfo
SELECT * FROM openquery(ORA8172,'SELECT * FROM ICDMAIN.T_PUB_COMMONINFO
WHERE CONTACTENDTIME>[email protected]+''' AND STAFFCITY =''05''
AND ACCEPTERNO IN (''4085'',''4086'',''4087'',''4088'',''4089'',''4090'',''4096'')')
------解决方案--------------------