如何解决程序中的 ORA-01006?
Posted
技术标签:
【中文标题】如何解决程序中的 ORA-01006?【英文标题】:How to solve ORA-01006 in procedure? 【发布时间】:2019-04-06 16:58:00 【问题描述】:我需要一个程序来计算某些东西的计数并将其插入另一个表中,但出现错误
ORA-01006:绑定变量不存在。
这是我的代码:
插入部分不被执行,而是跳转到异常。
【问题讨论】:
为了将来参考,请不要将您的代码发布为图像。许多人无法在转储站点中查看图像,而且代码无论如何都很难阅读。因此,您只是在减少可以帮助您的人。 阅读此内容,因为您是 SO 新手。 ***.com/help/someone-answers 【参考方案1】:您的动态 SQL 调用是
EXECUTE IMMEDIATE v_sql USING v_result;
这是将参数传递到动态语句的语法。但是您的代码不带任何参数,因为您已将它们连接到字符串中。因此,代码会抛出 ORA-01006。
您需要做的是为要返回的结果集提供一个变量。所以调用应该是
EXECUTE IMMEDIATE v_sql INTO v_result;
EXECUTE IMMEDIATE 的语法在the PL/SQL guide 中全面介绍。您应该为 Oracle 文档添加书签以供将来参考。
【讨论】:
非常感谢,我将 v_sql 内容更改为 'select sum(P2P) as Su'以上是关于如何解决程序中的 ORA-01006?的主要内容,如果未能解决你的问题,请参考以下文章
jdbc查询数据库报:java.sql.SQLException: ORA-01006: 绑定变量不存在