Oracle
 sql >> база данни >  >> RDS >> Oracle

Получаване на грешка при изпълнение на пакета

Липсва ви декларацията на пакета. Идеята е да се отдели декларацията на пакета („заглавката“, ако желаете), така че други пакети/процедури/функции да могат да се компилират спрямо него от тялото (реализацията).

Във вашия случай ще ви трябва нещо като:

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

Сега, след като пакетът е деклариран, можете да създадете неговото тяло:

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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функция LPAD() в Oracle

  2. ORA-4031 грешки с Direct NFS

  3. Функция SQRT() в Oracle

  4. Курсорът в процедурата връща повече стойности от заявката

  5. Как да промените езика за вашата сесия на Oracle