Oracle
 sql >> Base de données >  >> RDS >> Oracle

Obtention d'une erreur lors de l'exécution du package

Il vous manque la déclaration du package. L'idée est de séparer la déclaration du package ("l'en-tête", si vous voulez), afin que d'autres packages/procédures/fonctions puissent compiler à partir du corps (l'implémentation).

Dans votre cas, vous auriez besoin de quelque chose comme :

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

Maintenant, une fois le package déclaré, vous pouvez créer son corps :

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;