【发布时间】:2021-09-08 00:28:24
【问题描述】:
我在通过 dbms_sql 使用绑定变量(输入和输出)执行动态 SQL 时遇到了一些麻烦。 我总是得到 ORA-06502 但无法得到原因。 到目前为止,我可以减少 SQL-sn-p 以知道 out 参数发生错误。
declare
l_cur_id NUMBER;
l_sql VARCHAR2(100) := 'begin :1 := ''test''; end;';
l_res VARCHAR2(100);
l_dbms NUMBER;
begin
l_cur_id := dbms_sql.open_cursor;
dbms_sql.parse(l_cur_id, l_sql, dbms_sql.native);
dbms_sql.bind_variable(l_cur_id, '1', l_res);
l_dbms := dbms_sql.execute(l_cur_id); -- ORA here
dbms_sql.close_cursor(l_cur_id);
exception
when others then
dbms_sql.close_cursor(l_cur_id);
raise;
end;
/
内参数工作正常。 我正在使用 Oracle Database 12 Enterprise Edition Release 12.1.0.2.0
我必须以其他方式配置 out-parameter 吗? 感谢您的帮助。
【问题讨论】:
标签: oracle plsql oracle12c dynamic-sql