sql >> Database >  >> RDS >> Oracle

Fout krijgen tijdens het uitvoeren van pakket

Je mist de aangifte van het pakket. Het idee is om de declaratie van het pakket te scheiden ("de header", zo u wilt), zodat andere pakketten/procedures/functies er vanuit de body (de implementatie) naar kunnen compileren.

In jouw geval heb je zoiets nodig als:

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

Nu, zodra het pakket is gedeclareerd, kunt u zijn hoofdtekst maken:

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. Converteer rijen naar kolommen met 'Pivot' in SQL Server

  2. SUBSTR() Functie in Oracle

  3. Omgaan met datum en tijd in plaats van datetime

  4. SQL Server 2016 - Introduction to Stretch Database