如何在程序中解决ORA-01006?

时间:2019-04-06 16:58:00

标签: database oracle plsql dynamic-sql

我需要一个程序来计算某物的数量并将其插入到另一个表中,但会出错

  

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

这是我的代码:

enter image description here

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

1 个答案:

答案 0 :(得分:1)

您的动态SQL调用是

EXECUTE IMMEDIATE v_sql USING v_result;

这是用于将参数传递到动态语句的语法。但是您的代码不带任何参数,因为您已将它们串联在字符串中。因此,该代码会抛出ORA-01006。

您需要做的是为要返回的结果集提供一个变量。因此呼叫应为

EXECUTE IMMEDIATE v_sql INTO v_result;

the PL/SQL guide中全面介绍了EXECUTE IMMEDIATE的语法。您应该为Oracle文档添加书签,以备将来参考。