Création et gestion des séquences
Les séquences sont des objets d'un schéma qui génèrent des valeurs séquentielles uniques très utiles pour l'utilisation de clés primaires uniques. Les séquences sont utilisées à l'aide des pseudo-colonnes CURRVAL et NEXTVAL, qui renvoient respectivement la Valeur en cours et la Valeur suivante de la séquence.
Une fois une séquence créée, vous devez l'initialiser en utilisant NEXTVAL pour obtenir sa première valeur. Ce n'est qu'après l'initialisation d'une séquence que CURRVAL renvoie sa valeur actuelle.
Le schéma HR comporte trois séquences : DEPARTMENTS_SEQUENCE, EMPLOYEES_SEQUENCE et LOCATIONS_SEQUENCE.
Conseil : lorsque vous envisagez d'utiliser une séquence afin d'alimenter la clé primaire d'une table, attribuez-lui un nom correspondant à sa fonction. (Cette rubrique utilise la convention de dénomination TABLE_NAME_SEQUENCE.)
Voir aussi :
-
Oracle Database Concepts, pour une présentation des séquences
-
Référence du langage SQL Oracle Database pour plus d'informations sur les pseudo-colonnes CURRVAL et NEXTVAL
-
Guide de l'administrateur Oracle Database, pour plus d'informations sur la gestion des séquences
-
"Modification des scripts d'installation qui créent des séquences"
Tutoriel : Création d'une séquence
Ce tutoriel montre l'utilisation de l'outil Créer une séquence de base de données pour créer une séquence permettant la génération de clés primaires pour la table EVALUATIONS.
La table EVALUATIONS a été créée dans l'Example 4-1.
Pour créer une séquence, utilisez l'outil SQL Developer Créer une séquence ou l'instruction DDL CREATE SEQUENCE. L'instruction DLL équivalente est la suivante :
CREATE SEQUENCE evaluations_sequence
INCREMENT BY 1
START WITH 1 ORDER;
Etapes de création d'EVALUATIONS_SEQUENCE à l'aide de l'outil Créer une séquence de base de données :
-
Dans le cadre Connexions, développez hr_conn.
-
Dans la liste des types d'objet schéma, cliquez avec le bouton droit de la souris sur Séquences.
-
Dans la liste des choix, cliquez sur Nouvelle séquence.
-
Dans le champ Nom de la fenêtre Créer une séquence, saisissez
EVALUATIONS_SEQUENCEsur la valeur par défaut "SEQUENCE1". -
Si le panneau Propriétés ne s'affiche pas, cliquez sur l'onglet Propriétés.
-
Dans le panneau Propriétés :
-
Dans le champ Incrément, entrez
1. -
Dans le champ Commencer avec, entrez
1. -
Pour les autres champs, acceptez les valeurs par défaut.
-
Cliquez ensuite sur OK.
La séquence EVALUATIONS_SEQUENCE est créée. Son nom apparaît sous Séquences dans le cadre Connexions.
-
Voir aussi :
-
Guide de l'utilisateur Oracle SQL Developer, pour plus d'informations sur l'utilisation de SQL Developer pour créer une séquence
-
Manuel Oracle Database SQL Language Reference, pour plus d'informations sur l'instruction CREATE SEQUENCE
-
"Tutoriel : Création d'un déclencheur générant une clé primaire pour une ligne avant son insertion" pour apprendre à créer un déclencheur qui insère les clés primaires créées par EVALUATIONS_SEQUENCE dans la table EVALUATIONS
Suppression de séquences
To drop a sequence, use either the SQL Developer Connections frame and Drop tool, or the DDL statement DROP SEQUENCE.
Cette instruction supprime la séquence EVALUATIONS_SEQUENCE :
DROP SEQUENCE EVALUATIONS_SEQUENCE;
Attention : ne supprimez pas la séquence EVALUATIONS_SEQUENCE ; vous en avez besoin pour l'Example 5-3. Pour pratiquer la suppression, créez d'autres séquences et supprimez-les.
Procédure de suppression d'une séquence à l'aide de l'outil Supprimer :
-
Dans le cadre Connexions, développez hr_conn.
-
Dans la liste des types d'objet de schéma, développez Séquences.
-
Dans la liste des séquences, cliquez avec le bouton droit de la souris sur le nom de la séquence à supprimer.
-
Dans la liste des choix, cliquez sur Supprimer.
-
Dans la fenêtre Déposer, cliquez sur Appliquer.
-
Dans la fenêtre de validation, cliquez sur OK.
Voir aussi : Oracle Database SQL Language Reference, pour plus d'informations sur l'instruction SEQUENCE DROP.