Commande DDL-LDD CREATE SEQUENCE Oracle
Permet de définir une suite de nombres entiers, de clés uniques, de compteurs pour des tables.
Pour la description des séquences voir les Vues DBA_SEQUENCES, ALL_SEQUENCES, USER_SEQUENCES
Syntaxe de création d’une séquence.
CREATE SEQUENCE [schéma.]nomSéquence
[INCREMENT BY entier ]
[START WITH entier ]
[ { MAXVALUE entier | NOMAXVALUE } ]
[ { MINVALUE entier | NOMINVALUE } ]
[ { CYCLE | NOCYCLE } ]
[ { CACHE entier | NOCACHE } ]
[ { ORDER | NOORDER } ] ;
CREATE SEQUENCE SCHEMA.MA_SEQUENCE
INCREMENT BY 1
START WITH 200
MAXVALUE 999999999999999999999999999
MINVALUE 1
NOCYCLE
CACHE 30
ORDER;
Attention :
Privilège CREATE SEQUENCE pour créer une séquence dans votre schéma.
Privilège CREATE ANY SEQUENCE pour les autres schéma.
|
SYNTAXE |
DESCRIPTION |
| INCREMENT BY | intervalle entre les deux valeurs de la séquence (par défaut 1). |
| START WITH | première valeur de la séquence à générer. |
| MAXVALUE | valeur maximale de la séquence. |
| MINVALUE | valeur minimale de la séquence. |
| CYCLE | la séquence continuera de générer des valeurs après avoir atteint sa limite. |
| NOCYCLE | la séquence s'arretera de générer des valeurs après avoir atteint sa limite. |
| CACHE | les valeurs de la séquence seront mises en cache. |
| NOCACHE | les valeurs de la séquence ne seront pas dans le cache. |
| ORDER | les séquences sont générées dans l’ordre des requêtes. |
La fonction ma_sequence.NEXTVAL incrémentera la séquence et me retournera la nouvelle valeur.
SQL> SELECT ma_sequence.NEXTVAL "Valeur Incrementée" FROM dual;
La fonction ma_sequence.CURRVAL me retournera la valeur courante de la séquence.
SQL> SELECT ma_sequence.CURRVAL "Valeur Courante" FROM dual;
J'insere un enregistrement avec une nouvelle valeur incrémentée dans UTI_Id (clé Primaire).
SQL> INSERT INTO utilisateur (UTI_Id,Prenom,Nom) VALUES (ma_sequence.NEXTVAL,'Jean','MARTIN');
| Liens en rapport avec l'article et qui sont susceptibles de vous intéresser |
|
• SQL DROP
SEQUENCE ORACLE • SQL ALTER SEQUENCE ORACLE |