Link to home
Start Free TrialLog in
Avatar of lgrujic
lgrujic

asked on

PLS-00103: Parser stack overflow error

In my PL/SQL procedure, within package, I have complicated nested blocks: Begin/Exception/End (nearly hundred times). While creating a package, in compilation process, an error message arises: PLS-00103: Parser stack overflow error.
If I decrease level of nesting (by deleting great part of code) at about 30 nested blocks: Begin/Exception/End, the package is created without errors.
Please, answer me: what does the "Parser stack overflow error" mean, and how to override this situation.
It could be possible to reorganize program code by creating recursive procedure but it is not desirable (existing code satisfies the application requirements).
Thanks.
ASKER CERTIFIED SOLUTION
Avatar of Irka
Irka

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of lgrujic
lgrujic

ASKER

Thank you Irka,
I had allready reaorganized program code,
but I am still interested in how to increase parser stack area, if it is possible.
See the PL/SQL Reference Appendix E "PL/SQL Program Limits"

The limit for 9i is 255 block nestings for example.

Subprogram calls in PL/SQL are quite cheap, having a nesting depth of more than 10 blocks should make you think about reorganising your code.

If subprograms don't do the job (because you have to access a large number of variables (the limit here is the total size of the parameters) create a new package and define these globals in the body.
Avatar of lgrujic

ASKER

Hi Csar,
I had allready reaorganized program code (long time ago).
Also, I am going to find recomended documentation
(PL/SQL Reference Appendix E "PL/SQL Program Limits")
and I will read it as soon as possible.
Thank you.
L.Grujic