Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Circular reference with private procedures in package
Circular reference with private procedures in package
Hello! Here's my question...
The following package will not compile because of a circular reference between inner1 and inner2. Because private functions need to be placed in a specific order and inner1 and inner2 are inter-dependant, there doesn't seem to be a way to get this package to compile other than making INNER1 public. Is there anything else I can do?
CREATE OR REPLACE
PACKAGE test_pkg
IS
/**************************************************************************************************/
FUNCTION OUTER(
pNumber IN NUMBER
)
RETURN NUMBER;
/**************************************************************************************************/
END;
/
CREATE OR REPLACE
PACKAGE BODY test_pkg
IS
/**************************************************************************************************/
FUNCTION INNER2(
pNumber IN NUMBER
)
RETURN NUMBER
IS
lNumber NUMBER;
BEGIN
lNumber := pNumber + 1;
IF lNumber < 10 THEN
lNumber := INNER1(lNumber);
END IF;
RETURN lNumber;
END;
/**************************************************************************************************/
FUNCTION INNER1(
pNumber IN NUMBER
)
RETURN NUMBER
IS
lNumber NUMBER;
BEGIN
lNumber := pNumber + 1;
IF lNumber < 10 THEN
lNumber := INNER2(lNumber);
END IF;
RETURN lNumber;
END;
/**************************************************************************************************/
FUNCTION OUTER(
pNumber IN NUMBER
)
RETURN NUMBER
IS
lNumber NUMBER;
BEGIN
lNumber := INNER1(pNumber);
RETURN lNumber;
END;
/**************************************************************************************************/
END;
/
Received on Wed Jul 02 2003 - 11:55:21 CDT