Hi

Ok. that's true. So you kind of have private and public, even though it's
not explicit.
As I said: "Did I miss anything ?" ... Looks like I did ;).

Stefan
above.


-----Urspr�ngliche Nachricht-----
Von: Pardee, Roy E [mailto:[EMAIL PROTECTED]
Gesendet: Mittwoch, 4. Juni 2003 19:40
An: Multiple recipients of list ORACLE-L
Betreff: RE: Interesting!


I believe PL/SQL packages let you do a fair bit of information hiding--any
signature you leave out of the package spec is essentially private to the
package.  You can also decare package-wide variables in the package body to
keep them private to the package.  For instance:

create or replace package my_package is
  v_my_public_var VARCHAR2(30) ;

  procedure my_public_procedure ;
end my_package ;

create or replace package body my_package is
  v_my_private_var VARCHAR2(30) ;
  procedure my_private_procedure is
  begin
    v_my_private_var := 'Hello!' ;
  end my_private_procedure ;
  procedure my_public_procedure is
  begin
    my_private_procedure ;
  end my_public_procedure ;
end my_package ;

Cheers,

-Roy

Roy Pardee
Programmer/Analyst/DBA
SWFPAC Lockheed Martin IT
Extension 8487

-----Original Message-----
Sent: Wednesday, June 04, 2003 9:10 AM
To: Multiple recipients of list ORACLE-L


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

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Pardee, Roy E
  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).

Reply via email to