sql >> Database >  >> RDS >> Oracle

Een procedure maken in een pakket in Oracle

In Oracle moet u eerst de procedure declareren in een pakketspecificatie en vervolgens de volledige procedure in de pakkettekst maken. Omdat als u probeert om alleen een procedure in de pakketbody te maken zonder de verklaring in pakketspecificatie, u de fout PLS-00302 component moet worden verklaard en ORA-06550 ongeldig PL/SQL-blok. Dus hieronder geef ik een voorbeeld van hoe je een procedure in een pakket in Oracle kunt maken.

In dit voorbeeld zullen we een procedure update_comm maken om de commissie in de EMP-tabel bij te werken. Deze procedure neemt de parameter voor commissiepercentage.

Een procedure maken binnen een pakket in Oracle-voorbeeld

Verklaar de procedure in pakketspecificatie

CREATE OR REPLACE PACKAGE emp_pkg
IS
PROCEDURE update_comm (i_comm IN emp.comm%TYPE);
END emp_pkg;

Maak de volledige procedure in de inhoud van het pakket

CREATE OR REPLACE PACKAGE BODY emp_pkg
IS
PROCEDURE update_comm (i_comm IN emp.comm%TYPE)
IS
BEGIN

UPDATE emp
SET comm = sal * NVL (i_comm, 0) / 100;

COMMIT;
END update_comm;
END emp_pkg;

Nu kunt u deze procedure als volgt uitvoeren:

BEGIN
/* Updating commission with 5% of salary */
emp_pkg.update_comm (5);
END;
  1. Hoe MySQL-back-ups voor Oracle DBA's uit te voeren en te beheren

  2. Vind de kolommen die worden geretourneerd door een functie met tabelwaarde (T-SQL-voorbeelden)

  3. Fuzzy matching met T-SQL

  4. Geldige modificaties voor SQLite-datum/tijd-functies