Compiling a PLSQL Function that Recursively Calls Itself Fails With: PLS-00801: internal error [2199]
(Doc ID 1599500.1)
Last updated on FEBRUARY 25, 2019
Applies to:
PL/SQL - Version 9.2.0.8 and laterInformation in this document applies to any platform.
Symptoms
Compiling a PLSQL function that recursively calls itself fails with the following exception stack:
PLS-00801: internal error [2199]
PL/SQL: SQL Statement ignored
PL/SQL: ORA-06544: PL/SQL: internal error, arguments: [2199], [], [], [], [], [], [], []
For Example:
SQL> CREATE OR REPLACE FUNCTION
2 testcase( i_type IN VARCHAR2 DEFAULT 'NEW')
3 RETURN NUMBER IS
4 CURSOR c1 IS
5 SELECT testcase(0) paytot
6 FROM emp;
7 v_found BOOLEAN;
8 v_pay_total NUMBER;
9 e_return_zero EXCEPTION;
10 BEGIN
11 OPEN c1;
12 FETCH c1 INTO v_pay_total;
13 CLOSE c1;
14 RETURN(NVL(v_pay_total,0));
15 EXCEPTION
16 WHEN e_return_zero THEN
17 RETURN(0);
18 END testcase;
19 /
Warning: Function created with compilation errors.
SQL> show errors
Errors for FUNCTION TESTCASE:
LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0 PLS-00801: internal error [2199]
5/1 PL/SQL: SQL Statement ignored
5/8 PL/SQL: ORA-06544: PL/SQL: internal error, arguments: [2199], [], [], [], [], [], [], []
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |