Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Limits on PL/SQL block?
>From the Oracle Docs.
PL/SQL is based on the programming language Ada. As a result, PL/SQL uses a variant of Descriptive Intermediate Attributed Notation for Ada (DIANA), which is a tree-structured intermediate language. It is defined using a meta-notation called Interface Definition Language (IDL). DIANA provides for communication internal to compilers and other tools. A DIANA node is simply a node on this parse tree. For a full defintion of a DIANA tree see
http://citeseer.nj.nec.com/rosenblum95anna.html <http://citeseer.nj.nec.com/rosenblum95anna.html>
Ian MacGregor
-----Original Message-----
Sent: Friday, August 08, 2003 9:59 AM
To: Multiple recipients of list ORACLE-L
You want more cryptic answer ??
pl/sql block is limited by 64K Diana nodes. my guess is each node is a token. No one will tell you what a Diana node is, but it is used to parse pl/sql (after all it is modeled after ADA).
Only solution, instead of testing the limits, break the long code into manageable chunks. The people who will maintain it will speak fondly about you.
Raj
-----Original Message-----
Sent: Friday, August 08, 2003 11:39 AM
To: Multiple recipients of list ORACLE-L
I'm seeing a "PLS-00123 program too large" error. Oracle's documentation says that the actual limit on the size of the block is dependant on the mix of statements in the PL/SQL block. Does anyone know how Oracle determines this limit? Is it a pure size of PL/SQL block in bytes, or is it number of unique statements in the block, or is it dependant on how much redo that the block may generate?
(I know the recommended solution is to modularize and break up the statements into multiple blocks, but I'd like to know what are the limits to give us a better idea of determining where to break up the blocks dynamically, so the answer I'm really looking for is what is the limit or how Oracle determines the size limit, and not workarounds, which we're exploring anyway.)
TIA ..Rudy
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net <http://www.orafaq.net> -- Author: Rudy Zung INET: rzung_at_printcafe.com Fat City Network Services -- 858-538-5051 http://www.fatcity.com <http://www.fatcity.com> San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: MacGregor, Ian A. INET: ian_at_SLAC.Stanford.EDU Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Fri Aug 08 2003 - 13:09:30 CDT