Hi Possible scenario where it might make sense:
You want to "hide" some implementation from people that use your package. Since, AFAIK PL/SQL doesn't have information hiding (private, protected, public etc.), this might be a way of not showing your private helper method's signature in your package declaration. And yes, I am aware of the fact that it only makes sense with procs, funcs that you only want to use from within the scope of the proc/func you define them in. Otherwise you would end up with duplicate code. Did I miss anything ? Stefan -----Urspr�ngliche Nachricht----- Von: Khedr, Waleed [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 4. Juni 2003 16:20 An: Multiple recipients of list ORACLE-L Betreff: RE: Interesting! I think it's good to have (forgive me Jared :)). It reminds me with Pascal language. Waleed -----Original Message----- Sent: Tuesday, June 03, 2003 9:40 PM To: Multiple recipients of list ORACLE-L My first real PL/SQL program used this technique. Of course since it was my first program I ran into a very annoying variable scope issue. Of course after spending hours debugging the code, I realized I should have taken the advice of our DBA, the infamous Jared Still, and just used a package. I have since looked askew at the nesting of procedures. I can't remember the actual error I encountered. It probably had nothing or very little to do with my nested procedures, but in my mind I can't consider this to be a good practice. A package does the same job, and so much cleaner. P.S. I think this was the first time I noted Jared's annoying habit of being right Steve McClure -----Original Message----- Waleed Sent: Tuesday, June 03, 2003 4:10 PM To: Multiple recipients of list ORACLE-L I've just discovered this, never thought if it was possible or not. Just wanted to share it with you, so forgive me if you know it already. Procedure can contain other procedures: create or replace procedure test_test1 as procedure test_test2 as begin dbms_output.put_line('hello2'); end; function c1 ( p1 in number) return number as begin return(p1 * 2); end; begin dbms_output.put_line('hello1'); test_test2; dbms_output.put_line( c1(10)); end; Regards, Waleed -- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Khedr, Waleed INET: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] (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: Steve McClure INET: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] (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: Khedr, Waleed INET: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] (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: Stefan Jahnke INET: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] (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).
