Qui peut modifier l’en-tête du paquet ?
L’instruction ALTER PACKAGE
peut être exécutée :
-
Propriétaire du paquet ;
-
Utilisateurs avec le privilège
ALTER ANY PACKAGE
.
L’instruction ALTER PACKAGE
peut être exécutée :
Propriétaire du paquet ;
Utilisateurs avec le privilège ALTER ANY PACKAGE
.
ALTER PACKAGE APP_VAR
AS
BEGIN
FUNCTION GET_DATEBEGIN() RETURNS DATE DETERMINISTIC;
FUNCTION GET_DATEEND() RETURNS DATE DETERMINISTIC;
PROCEDURE SET_DATERANGE(ADATEBEGIN DATE, ADATEEND DATE DEFAULT CURRENT_DATE);
END
CREATE OR ALTER PACKAGE
Créer un nouvel en-tête de paquet ou modifier un en-tête de paquet existant.
DSQL
CREATE OR ALTER PACKAGE package_name [<rights clause>] AS BEGIN [<package_item> ...] END <package_item> ::= <function_decl>; | <procedure_decl>; <function_decl> ::= FUNCTION func_name [(<in_params>)] RETURNS <type> [COLLATE collation] [DETERMINISTIC] <procedure_decl> ::= PROCEDURE proc_name [(<in_params>)] [RETURNS (<out_params>)] Pour plus d'informations, voir. CREATE PACKAGE
L’instruction CREATE OR ALTER PACKAGE
crée un nouvel en-tête de paquetage ou modifie un en-tête de paquetage existant. Si l’en-tête de paquetage n’existe pas, il sera créé en utilisant l’instruction CREATE PACKAGE
. S’il existe déjà, il sera modifié et recompilé, tandis que les privilèges et dépendances existants seront préservés.
CREATE OR ALTER PACKAGE APP_VAR
AS
BEGIN
FUNCTION GET_DATEBEGIN() RETURNS DATE DETERMINISTIC;
FUNCTION GET_DATEEND() RETURNS DATE DETERMINISTIC;
PROCEDURE SET_DATERANGE(ADATEBEGIN DATE, ADATEEND DATE DEFAULT CURRENT_DATE);
END
DROP PACKAGE
Suppression de l’en-tête du paquet.
DSQL
DROP PACKAGE package_name
Paramètre | Description |
---|---|
package_name |
Nom du paquet. |
L’instruction DROP PACKAGE
supprime un en-tête de paquetage existant. Avant de supprimer un en-tête de paquetage (DROP PACKAGE
), le corps du paquetage (DROP PACKAGE BODY
) doit être supprimé, sinon une erreur sera générée. Si des dépendances existent sur l’en-tête du paquetage, une erreur sera générée lors de la tentative de suppression de cet en-tête.
L’instruction DROP PACKAGE
peut être exécutée :
Propriétaire du paquet ;
Utilisateurs avec le privilège DROP ANY PACKAGE
.
DROP PACKAGE APP_VAR;
RECREATE PACKAGE
Créer un nouvel en-tête de paquet ou recréer un en-tête de paquet existant.
DSQL
RECREATE PACKAGE package_name [<rights clause>] AS BEGIN [<package_item> ...] END <package_item> ::= <function_decl>; | <procedure_decl>; <function_decl> ::= FUNCTION func_name [(<in_params>)] RETURNS <type> [COLLATE collation] [DETERMINISTIC] <procedure_decl> ::= PROCEDURE proc_name [(<in_params>)] [RETURNS (<out_params>)] Pour plus d'informations, voir. CREATE PACKAGE
L’instruction RECREATE PACKAGE
crée un nouvel en-tête de paquetage ou recrée un en-tête de paquetage existant. Si un en-tête de paquetage portant ce nom existe déjà, l’instruction essaiera de le supprimer et de créer un nouvel en-tête de paquetage. Il n’est pas possible de recréer un en-tête de paquetage si l’en-tête de paquetage existant a des dépendances ou si le corps du paquetage existe. Après avoir recréé un en-tête de paquetage, les sous-routines et les privilèges du paquetage ne sont pas conservés.
RECREATE PACKAGE APP_VAR
AS
BEGIN
FUNCTION GET_DATEBEGIN() RETURNS DATE DETERMINISTIC;
FUNCTION GET_DATEEND() RETURNS DATE DETERMINISTIC;
PROCEDURE SET_DATERANGE(ADATEBEGIN DATE, ADATEEND DATE DEFAULT CURRENT_DATE);
END