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

Fehler beim Ausführen des Pakets

Ihnen fehlt die Deklaration des Pakets. Die Idee ist, die Deklaration des Pakets (»den Header«, wenn man so will) zu trennen, damit andere Pakete/Prozeduren/Funktionen dagegen vom Hauptteil (der Implementierung) kompilieren können.

In Ihrem Fall benötigen Sie so etwas wie:

CREATE OR REPLACE package salary_sal AS
   PROCEDURE find_sal(c_dpt_no salary.dpt_no%TYPE);
END salary_sal;

Nun, sobald das Paket deklariert ist, können Sie seinen Hauptteil erstellen:

CREATE OR REPLACE package body salary_sal AS
   PROCEDURE find_sal(c_dpt_no salary.dpt_no%TYPE) IS
   c_sal salary.salary%TYPE;
   BEGIN
      SELECT salary INTO c_sal
      FROM salary
      WHERE c_dpt_no= 108;
      dbms_output.put_line('Salary: '|| c_sal);
   END find_sal;
END salary_sal;