When compiling a package body with the debug option that uses %ROWTYPE with a cursor declaration I get the following error:
PLS-00801: internal error [79110]
The package compiles successfully when not using the debug option.
For Example, compiling the following package body with debug option will cause the error:
CREATE OR REPLACE PACKAGE BODY test_pkg IS
END test_pkg;
/
CREATE OR REPLACE PACKAGE BODY test_pkg IS
CURSOR cr_Test IS
SELECT *
FROM dual;
PROCEDURE test_proc(r_Test IN cr_Test%ROWTYPE);
PROCEDURE test_proc(r_Test IN cr_Test%ROWTYPE) IS
BEGIN
NULL;
END test_proc;
END test_pkg;
/
This is an Oracle Bug (Bug no: 3164294). See note 254703.1 on http://metalink.oracle.com
The current workarounds are as follows:
1) Compile the package with the Debug option off.
2) Apply Oracle patch 3164294
3) Upgrade to Oracle 10g