title: Calling private function within package body
body: <p>According to Oracle documentation one can make items private in packages by declaring them in the body but not in the specification.</p>
  
  <p>I have a procedure in this package that needs to call a function that should not be accessed outside of this package. Oracle SQL Developer returns <code>PLS-00313 'ADD_STUDENT' not declared in this scope</code></p>
  
  <p>Declaration:</p>
  
  <pre><code>PACKAGE SCHOOL AS
      PROCEDURE ADD_PEOPLE(...);
  END SCHOOL;
  </code></pre>
  
  <p>Body:</p>
  
  <pre><code>PACKAGE BODY SCHOOL AS
      PROCEDURE ADD_PEOPLE(...)
          ...
          ADD_STUDENT();
      END ADD_PEOPLE;
  
      FUNCTION ADD_STUDENT(...)
          ...
      END ADD_STUDENT;
  END SCHOOL;
  </code></pre>
  
  <p>I can't find an example of calling internal functions/procedures and whether the package declaration is needed ex:<code>SCHOOL.ADD_STUDENT()</code></p>