Un paquete es un objeto que agrupa tipos, elementos y subprogramas. Suelen tener dos partes: la especificación y el cuerpo, aunque algunas veces el cuerpo no es necesario.
En la parte de especificación declararemos la interfaz del paquete con nuestra aplicación y en el cuerpo es donde implementaremos esa interfaz.
Para crear un paquete usaremos la siguiente sintaxis:
CREATE [OR REPLACE] PACKAGE nombre AS
[declaraciones públicas y especificación subprogramas]
END [nombre]
CREATE [OR REPLACE] PACKAGE BODY nombre AS
[declaraciones privadas y cuerpo subprogramas especificados]
[BEGIN
sentencias inicialización]
END [nombre];
La parte de inicialización sólo se ejecuta una vez, la primera vez que el paquete es referenciado.