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

如何在PL/SQL游标中使用Oracle SQL/JSON?解决JSON_OBJECT绑定变量错误

解决Oracle 19C PL/SQL游标中JSON_OBJECT的"bad bind variable"错误

问题原因

你的SQL语句中用冒号(:)定义JSON_OBJECT的键值对,但在PL/SQL环境里,冒号是绑定变量的标识,解析器会把'Header':后面的JSON_OBJECT误认为是未定义的绑定变量,从而抛出"bad bind variable json_object"错误。

修复后的查询语句

把键值对里的冒号替换为Oracle JSON_OBJECT标准的VALUE关键字即可:

select 
  JSON_OBJECT( 'Header' VALUE
    JSON_OBJECT(
        'SenderID' VALUE 'INS015',
        'PayerID' VALUE 'INS015'))
from dual;

补充说明

Oracle 12cR2及以上版本支持'key' : value的简化写法,但这种写法在PL/SQL游标中可能触发绑定变量的解析逻辑,改用标准的'key' VALUE value语法既能避免错误,也能保持SQL兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 03:59:56