A function or procedure in a package which is not declared in package specification, its called as private function / procedure.
Scope of private function /procedure is very limited - on the package itself only.
While in declaring the private procedure/function in package, need to take care that it must be declare first in package declaration part of the package.
create or replace package pack_p1 is
procedure proc_1;
end pack_p1;
create or replace package body pack_p1 is
procedure test_proc_1 is
begin
dbms_output.put_line('package pack_p1 private procedure');
end test_proc_1;
function func_1 is
begin
dbms_output.put_line('package pack_p1 private function');
end func_1;
procedure proc_1 is
begin
dbms_output.put_line('package pack_p1 - proc 1');
test_proc_1;
end proc_1;
end pack_p1;
Scope of private function /procedure is very limited - on the package itself only.
While in declaring the private procedure/function in package, need to take care that it must be declare first in package declaration part of the package.
create or replace package pack_p1 is
procedure proc_1;
end pack_p1;
create or replace package body pack_p1 is
procedure test_proc_1 is
begin
dbms_output.put_line('package pack_p1 private procedure');
end test_proc_1;
function func_1 is
begin
dbms_output.put_line('package pack_p1 private function');
end func_1;
procedure proc_1 is
begin
dbms_output.put_line('package pack_p1 - proc 1');
test_proc_1;
end proc_1;
end pack_p1;