Reputation: 10310
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;
Upvotes: 9
Views: 22003
Reputation: 132570
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).
Upvotes: 20