What is the difference between stored procedure and standalone procedure in Oracle? -
standlone procedure
create procedure proc1 ( begin end; ) stored procedure
create package pkg1 ( procedure proc2 begin end; )
from oracle documentation create procedure
a standalone procedure procedure (a subprogram performs specific action) stored in database.
a nested procedure procedure in pl/sql block or package.
from create package documentation:
the create package statement creates or replaces specification stored package, encapsulated collection of related procedures, functions, , other program objects stored unit in database. package specification declares these objects. package body, specified subsequently, defines these objects.
standalone procedures , procedures nested in package both stored (compiled) within database - "stored" procedures. procedures defined in anonymous pl/sql block not "stored" procedures.
this not stored procedure:
declare n number := 1; procedure incr( in out number ) begin := + 1; end; begin incr(n); dbms_output.put_line(n); end; / there not huge difference between nested procedures in packages , standalone procedures:
- a standalone procedure defined using
create procedure ...whereas nested procedure defined within pl/sql block usingprocedure .... - a standalone procedure requires procedure definition (the
as begin ... end;part) (public) nested procedure in package declares procedure heading (theprocedure name(...)part) , in package body restate heading , define procedure definition. - nesting procedure in package allows grouped similar functionality , allows access functions, procedures , data private package (i.e. defined in package body not in public package specification).
Comments
Post a Comment