【问题标题】:How to solve ORA-01006 in procedure?如何解决程序中的 ORA-01006?
【发布时间】:2019-04-06 16:58:00
【问题描述】:

我需要一个程序来计算某些东西的计数并将其插入另一个表中,但出现错误

ORA-01006:绑定变量不存在。

这是我的代码:

插入部分不被执行,而是跳转到异常。

【问题讨论】:

  • 为了将来参考,请不要将您的代码发布为图像。许多人无法在转储站点中查看图像,而且代码无论如何都很难阅读。因此,您只是在减少可以帮助您的人。
  • 阅读此内容,因为您是 SO 新手。 stackoverflow.com/help/someone-answers

标签: database oracle plsql dynamic-sql


【解决方案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'
猜你喜欢
  • 2014-06-29
  • 1970-01-01
  • 2014-11-23
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 2014-01-08
  • 2014-07-11
  • 1970-01-01
相关资源
最近更新 更多