You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OPENQUERY更新Progress数据库时报错:语法错误靠近'B'

错误原因及解决方案

错误出在单引号的嵌套使用上:

  • OPENQUERY的第二个参数是用单引号包裹的SQL语句,而语句里wtype='B'的单引号会和外层的单引号提前闭合,导致SQL解析器误判语法结构,抛出"Incorrect syntax near 'B'"的错误。

修正后的语句

在SQL中嵌套单引号时,需要用两个连续的单引号''来转义单个单引号,修正后的语句如下:

UPDATE OPENQUERY(PROGRESSDB,'SELECT * FROM PUB.workitem where 
 act_emp= 73870 and wtype=''B''')
SET  start_time='81410',logonstat  = '1',realstrttme ='81410'

补充说明

当需要在被单引号包裹的SQL字符串内部表示单引号时,必须使用双单引号的写法,这样SQL解析器才能正确识别内层字符串的边界,避免语法冲突。

内容的提问来源于stack exchange,提问作者Dnyati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 12:30:52