Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle-Fehler PLS-00323:Unterprogramm oder Cursor ist in einer Paketspezifikation deklariert und muss im Pakettext definiert werden

Ihre Header- und Body-Prozedurdefinitionen stimmen nicht überein

In der Kopfzeile haben Sie:

PROCEDURE get_films(fname VARCHAR2);

Während im Körper:

PROCEDURE get_films(fname IN film.title%type, 
   r_date OUT film.release_date%type, dur OUT film.duration%type)

Sie müssen wahrscheinlich nur die Header-Definition mit den beiden zusätzlichen OUT-Parametern aktualisieren?

Zusammenfassend

  • Stellen Sie sicher, dass die Header-Definition mit allen Parametern der Body-Implementierung übereinstimmt (Anzahl der Parameter, Namen der Parameter, Reihenfolge der Parameter und Parametertypen)
  • Mischen Sie gemäß Alex' Kommentar den benutzerdefinierten Typ (film.title%type) nicht und passen Sie ihn nicht an ) mit dem Basistyp (VARCHAR2 ). Wählen Sie das eine oder das andere.