Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用自定义类型调试pl/sql函数_Sql_Oracle_Debugging_Plsql_Oracle Sqldeveloper - Fatal编程技术网

使用自定义类型调试pl/sql函数

使用自定义类型调试pl/sql函数,sql,oracle,debugging,plsql,oracle-sqldeveloper,Sql,Oracle,Debugging,Plsql,Oracle Sqldeveloper,我想使用函数tq84从这个问题的答案的表格中选择星号 我创建了tq84_varchar2_tab,tq84_varchar2_tab_tab类型,当我使用问题答案中的函数时,它是有效的,但当我尝试调试函数时,我得到了这个错误,调试没有开始 ORA-06550: Row 13, column 16: PLS-00382: expression is of wrong type ORA-06550: Row 13, column 3: PL/SQL: Statement ignored

我想使用函数tq84从这个问题的答案的表格中选择星号

我创建了tq84_varchar2_tab,tq84_varchar2_tab_tab类型,当我使用问题答案中的函数时,它是有效的,但当我尝试调试函数时,我得到了这个错误,调试没有开始

ORA-06550: Row 13, column 16:

PLS-00382: expression is of wrong type

ORA-06550: Row 13, column  3:

PL/SQL: Statement ignored
当我将resultSet的类型和函数的返回类型更改为VARCHAR2时,调试成功开始。 我正在使用oracle sql developer。我想知道怎么了。

这看起来像是一个bug,或者至少是无法将自定义类型作为绑定变量处理。作为一种解决方法,您可以更改生成的代码以跳过对bind变量的赋值:

而不是:

:v_Return := v_Return;
设置虚拟值:

:v_Return := null;

您不能只注释掉旧的行,因为它会出现“invalid column index”错误,这与它期望设置绑定变量有关-它不喜欢它-您根本不参考
:v_Return

当然,您必须重新编译函数以进行调试。完成此操作并修改生成的调试器代码后,它将按预期在断点处停止