views:

82

answers:

1

After many Google and SO searches, I cannot find a definitive answer to this simple question:

How can I define a procedure inside of another procedure to use?

I know that there are nested blocks and nested procedures, but I haven't seen the exact syntax for what I want. i.e.

create or replace
PROCEDURE TOP_PROCEDURE
(...)
IS
-- nested procedure here?
BEGIN
  NULL;
END;
+5  A: 
create or replace
PROCEDURE TOP_PROCEDURE
(...)
IS
   variable NUMBER;
   PROCEDURE nested_procedure (...)
   IS
   BEGIN
     NULL;
   END;
   PROCEDURE another_nested_procedure (...)
   IS
   BEGIN
     NULL;
   END;
BEGIN
  NULL;
END;

Local procedures must be declared after anything else (e.g. variables).

Tony Andrews
Simple and fast answer. Awesome.
daveslab