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

问题描述 投票:-3回答:1

我需要有一个程序来计算某些东西的数量并将其插入另一个表但却得到错误

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

这是我的代码:

enter image description here

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

database oracle plsql dynamic-sql
1个回答
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文档添加书签以供将来参考。

© www.soinside.com 2019 - 2024. All rights reserved.