Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Limits on PL/SQL block?

RE: Limits on PL/SQL block?

From: MacGregor, Ian A. <ian_at_SLAC.Stanford.EDU>
Date: Fri, 08 Aug 2003 10:09:30 -0800
Message-ID: <F001.005C9AAA.20030808100930@fatcity.com>


>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



Rajendra dot Jamadagni at nospamespn dot com All Views expressed in this email are strictly personal. QOTD: Any clod can have facts, having an opinion is an art !

-----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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US