FirebirdSQL logo

DROP PACKAGE BODY

affectation

Supprimer le corps du paquet.

Disponible en

DSQL

Syntaxe
DROP PACKAGE BODY package_name
Table 1. Paramètres de la fonction DROP PACKAGE BODY
Paramètre Description

package_name

Nom du paquet.

L’opérateur DROP PACKAGE BODY supprime le corps du paquet.

Qui peut supprimer le corps d’un paquet ?

L’instruction DROP PACKAGE BODY peut être exécutée :

  • Administrateurs

  • Propriétaire du paquet ;

  • Utilisateurs avec le privilège ALTER ANY PACKAGE.

Exemples

Example 1. Supprimer le corps du paquet
DROP PACKAGE BODY APP_VAR;

RECREATE PACKAGE BODY

affectation

Créer un nouveau corps de paquet ou recréer un corps de paquet existant.

Disponible en

DSQL

Syntaxe
RECREATE PACKAGE BODY package_name
AS
BEGIN
  [<package_item> ...]
  [<package_body_item> ...]
END

<package_item> ::=
    <function_decl>;
  | <procedure_decl>;

<function_decl> ::=
  FUNCTION func_name [(<in_params>)]
  RETURNS <type> [COLLATE collation]
  [<function_options>]

<procedure_decl> ::=
  PROCEDURE proc_name [(<in_params>)]
  [RETURNS (<out_params>)]
  [<procedure_options>]

<package_body_item> ::=
    <function_impl>
  | <procedure_impl>

<function_impl> ::=
  FUNCTION func_name [(<in_impl_params>)]
  RETURNS <type> [COLLATE collation]
  [DETERMINISTIC]
  <routine-body>

<procedure_impl> ::=
  PROCEDURE proc_name [(<in_impl_params>)]
  [RETURNS (<out_params>)]
  <routine-body>

Pour plus d'informations, voir. CREATE PACKAGE BODY.

L’instruction RECREATE PACKAGE BODY crée un nouveau corps de paquetage ou recrée un corps de paquetage existant. Si un corps de paquetage portant ce nom existe déjà, l’instruction tentera de le supprimer et de créer un nouveau corps de paquetage. Après la recréation du corps de paquetage, les privilèges des sous-routines du paquetage et les privilèges du paquetage lui-même sont conservés.

Exemples

Example 1. Recréer le corps du paquet
RECREATE PACKAGE BODY APP_VAR
AS
BEGIN
  -- Renvoie la date de début de la période
  FUNCTION GET_DATEBEGIN() RETURNS DATE DETERMINISTIC
  AS
  BEGIN
    RETURN RDB$GET_CONTEXT('USER_SESSION', 'DATEBEGIN');
  END
  -- Renvoie la date de fin de période
  FUNCTION GET_DATEEND() RETURNS DATE DETERMINISTIC
  AS
  BEGIN
    RETURN RDB$GET_CONTEXT('USER_SESSION', 'DATEEND');
  END
  -- Définit la plage de dates de la période de travail
  PROCEDURE SET_DATERANGE(ADATEBEGIN DATE, ADATEEND DATE)
  AS
  BEGIN
    RDB$SET_CONTEXT('USER_SESSION', 'DATEBEGIN', ADATEBEGIN);
    RDB$SET_CONTEXT('USER_SESSION', 'DATEEND', ADATEEND);
  END
END