Pachete utilizator

Un pachet este o componentă ce grupează: tipuri utilizator, variabile, constante, excepţii, subprograme (funcţii, proceduri).
Un pachet este format din două parţi:
  1. Specificare (interfaţa) - cu declaraţii publice
  2. Corpul - cu implementarea subprogramelor
Instrucţiunile SQL pentru gestiunea pachetelor sunt:
CREATE [OR REPLACE] PACKAGE [schema.]nume {IS | AS}
  ... declaraţii publice, folosite în exteriorul pachetului
END [nume];

CREATE [OR REPLACE] PACKAGE BODY [schema.]nume {IS | AS}
  ... 
  declaraţii private
  corpul (implementarea) subprogramelor
  [BEGIN
     instrucţiuni de initializare, 
     care se execută numai o data, la prima folosire a pachetului
  ]
END [nume];

ALTER PACKAGE [schema.]nume COMPILE [{PACKAGE | BODY}];

DROP PACKAGE [BODY] [schema.]nume;

Pachetul memorat nu se poate edita, este necesară re-crearea întregului pachet.
La execuţia comenzilor SQL, în SQL*Plus, pot apare erori. Afişarea acestora, în SQL*Plus, se poate face prin comanda:

SHOW ERRORS
Erorile se pot vizualiza prin folosirea view-ului sistem USER_ERRORS.

Referirea la o declaraţie publică din pachet se face prin:
[schema.]numepachet.denumire[(lista_parametri)]
Observaţie. Intr-un pachet pot apare mai multe subprograme cu acelaşi nume, diferenţierea se face prin numărul de parametri şi/sau tipul acestora.

Exemple

Crearea unui pachet cu informaţii despre studenţi
Folosirea pachetului precedent în SQL*Plus

Obţinerea informaţiilor despre pachete

Pentru obţinerea informaţiilor despre proceduri, funcţii, pachete şi corpul pachetelor, memorate în baza de date, se pot folosi: