Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Obtendo erro ao executar o pacote


Você está perdendo a declaração do pacote. A idéia é separar a declaração do pacote ("o cabeçalho", se você preferir), para que outros pacotes/procedimentos/funções possam compilar a partir do corpo (a implementação).

No seu caso, você precisaria de algo como:
CREATE OR REPLACE package salary_sal AS
   PROCEDURE find_sal(c_dpt_no salary.dpt_no%TYPE);
END salary_sal;

Agora, uma vez que o pacote é declarado, você pode criar seu corpo:
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;