Link to home
Start Free TrialLog in
Avatar of kishj
kishj

asked on

pls-000123

Greetings.

I am using 4.0.2.410 of PL/SQL Developer. I have a PL/SQL program that, when I compile it, gives me a PLS-000123 error. Now, I can compile this same program against a 7.3.4 db, and an 8i db, but not against a certain 8.0 db. (It happens with Toad also)

Any suggestions or parameters I can tweak?

Thanks
Jeff Kish
Avatar of annu_vinayak
annu_vinayak

Can u provide the details that what r u trying to do.
The main reason for this error is that PL/SQL was designed primarily for robust transaction processing and the size of a PL/SQL block is limited and that depends on the PL/SQL compiler. The limit depends on the mix of statements in the PL/SQL block. Blocks that exceed the limit cause this error.

What you need to do is to modularize the program by defining subprograms, which can be stored in an Oracle database. Another solution is to break the program into two sub-blocks. Have the first block Iexecute first followed by the next.

Hope this helps.
Avatar of kishj

ASKER

Right now, I am compiling a single package in a single file. Does this mean I need to break it up into separate packages that are compiled separately?
Thanks
Jeff
Yes, the error means that your file is too large.
For a full list of PL/SQL errors, check out this link.

http://technet.oracle.com/doc/server.804/a58312/newch31.htm#2676

Sounds like you need to break up your package into smaller parts, perhaps based on the logical parts of your package.

It must be a big package, as I've never had this error.
Maybe you could define a set of functions to replace any processing your package does more than once ?

Anyway, good luck.

ASKER CERTIFIED SOLUTION
Avatar of annu_vinayak
annu_vinayak

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 kishj

ASKER

Thanks,
Jeff