Dans Oracle, les packages encapsulent les procédures associées, les fonctions et les curseurs et variables associés dans une même unité située dans la base de données. Les packages comportent le plus souvent deux parties : une spécification et un corps. La spécification est l'interface avec vos applications ; elle déclare les types, variables, constantes, exceptions, curseurs et sous-programmes disponibles. Le corps définit pleinement les curseurs et sous-programmes, et met en oeuvre la spécification.
L'utilisation des packages permet des améliorations dans les domaines suivants :
Encapsulation des procédures et variables associées dans une unité unique et nommée au sein de la base de données, ce qui permet de faciliter l'organisation lors du processus de développement et de simplifier la gestion des privilèges.
Séparation des procédures, variables, constantes et curseurs publics et privés.
Meilleures performances puisque le package est entièrement chargé en mémoire lorsqu'un de ses objets est appelé pour la première fois.
Vous pouvez générer des packages de base de données et procéder à leur reverse engineering de la même façon que pour les autres objets de base de données (voir Génération et reverse-engineering de bases de données). Lorsque vous procédez au reverse engineering du contenu d'un package de base de données, les sous-objets (variable, procédure, curseur, exception et type) sont créés à partir de la spécification et du corps du package de base de données.
Pour visualiser ou modifier les propriétés d'un package de base de données, double-cliquez sur l'entrée correspondante dans l'Explorateur d'objets ou dans une liste. Les onglets de feuille de propriétés et zones répertoriés ici sont ceux disponibles par défaut, avant toute personnalisation de l'interface par vous ou par un administrateur.
L'onglet Général contient les propriétés suivantes :
Propriété |
Description |
---|---|
Nom/Code/Commentaire |
Identifient l'objet. Le nom doit permettre à des utilisateurs non spécialistes de savoir à quoi sert l'objet, tandis que le code, qui est utilisé afin de générer du code ou des scripts, peut être abrégé, et ne doit normalement contenir aucun espace. Vous pouvez également spécifier un commentaire afin de fournir des informations plus détaillées sur l'objet. Par défaut, le code est généré à partir du nom en appliquant les conventions de dénomination spécifiées dans les options du modèle. Pour supprimer la synchronisation du nom et du code, cliquez sur le bouton = en regard de la zone Code. |
Stéréotype |
Etend la sémantique de l'objet. Vous pouvez saisir un stéréotype directement dans cette zone, ou bien ajouter des stéréotypes dans la liste en les spécifiant dans un fichier d'extension. |
Propriétaire |
Spécifie le nom du propriétaire de package de base de données, que vous pouvez choisir dans la liste des utilisateurs. |
Privilège |
Permet d'indiquer si les fonctions et procédures contenues dans le package de base de données sont exécutées avec les privilèges et dans la structure de l'utilisateur qui le possède (celui qui l'a défini), ou avec les privilèges et dans la structure de CURRENT_USER (celui qui l'a appelé).. |
Table |
Spécifie la table à laquelle le package de base de données est associé. |
Modèle |
Spécifie le modèle de package de base de données sur lequel le package courant est basé (voir Modèles de package de base de données). Si vous utilisez un modèle de package, les onglets restants de la feuille de propriétés seront renseignés par ce modèle de package. Si vous modifiez les autres onglets, le bouton Utilisateur à droite de la zone est enfoncé et le package est détaché du modèle de package et ne sera plus mis à jour automatiquement lorsque vous modifierez la définition de la table à laquelle il est associé. |
Mots clés |
Permet de grouper de façon informelle des objets. Pour saisir plusieurs mots clés, séparez-les de virgules. |
Procédures – Répertorie les procédure associées au package de base de données (voir Procédures de package de base de données).
Variables - Répertorie les variables associées au package de base de données (voir Variables de package de base de données).
Curseurs - Répertorie les curseurs associés au package de base de données (voir Curseurs de package de base de données).
Exceptions – Répertorie les exceptions associées au package de base de données (voir Exceptions de package de base de données).
Types - Répertories les types associés au package de base de données (voir Types de package de base de données).
Initialisation - Permet de définir du code d'initialisation pour le corps du package de base de données. L'initialisation se produit après la création et la compilation du package de base de données sur le serveur.
Aperçu - Affiche le code SQL qui sera généré à partir du package de base de données.