Cette rubrique explique comment modifier la valeur de départ d'une séquence ou changer son type. Cette opération ne s'applique pas aux séquences de groupe comportant plusieurs unités.
Notes d'utilisation
Lorsque vous modifiez le type d'une séquence, tenez compte des points suivants :
Il est impossible de convertir une séquence de groupe contenant plusieurs unités vers un autre type ou de modifier ses paramètres liés aux unités. Une conversion forcée risque de provoquer un dysfonctionnement de la séquence.
Avant de modifier le paramètre START WITH, évaluez attentivement les valeurs de séquence existantes et leur taux de génération afin d'éviter les conflits. Ne changez cette valeur qu'en cas de nécessité absolue.
Le paramètre START WITH est obligatoire lorsque vous utilisez l'instruction
ALTER SEQUENCE CHANGE TOpour convertir le type d'une séquence. Si la clauseCHANGE TOest omise, ce paramètre devient facultatif.
Nouvelle séquence
Syntaxe
ALTER SEQUENCE <name> [ CHANGE TO GROUP | TIME ]
START WITH <numeric value>
[ INCREMENT BY <numeric value> ]
[ MAXVALUE <numeric value> ]
[ CYCLE | NOCYCLE ]
Parameter Description
| Paramètre | Description |
| START WITH | Valeur de départ de la nouvelle séquence. Si ce paramètre n'est pas spécifié, la valeur par défaut est 1. |
| INCREMENT BY | Taille du pas de la nouvelle séquence. Valeur par défaut : 1. Ce paramètre s'applique uniquement lors de la modification des propriétés d'une nouvelle séquence, et non lors de sa conversion en séquence de groupe ou temporelle. |
| MAXVALUE | Valeur maximale de la nouvelle séquence (entier positif requis). Valeur par défaut : valeur maximale d'un BIGINT signé (9223372036854775807). Ce paramètre s'applique uniquement lors de la modification des propriétés d'une nouvelle séquence, et non lors de sa conversion en séquence de groupe ou temporelle. |
| CYCLE ou NOCYCLE | Indique si la séquence redémarre à partir de la valeur de départ après avoir atteint la valeur maximale.
Ce paramètre s'applique uniquement lors de la modification des propriétés d'une nouvelle séquence, et non lors de sa conversion en séquence de groupe ou temporelle. |
Lors de la conversion d'une séquence en séquence de groupe, seule une unité unique par défaut est prise en charge.
La valeur de départ n'a aucun effet lors de la conversion d'une séquence en séquence temporelle.
Séquence de groupe
Syntaxe
ALTER SEQUENCE <name> [ CHANGE TO NEW | TIME ]
START WITH <numeric value>
[ INCREMENT BY <numeric value> ]
[ MAXVALUE <numeric value> ]
[ CYCLE | NOCYCLE ]
Parameter Description
| Paramètre | Description |
| START WITH | Valeur de départ de la séquence. Si ce paramètre n'est pas spécifié, la valeur par défaut est 1. |
| INCREMENT BY | Taille du pas. Valeur par défaut : 1. Ce paramètre s'applique uniquement lors de la conversion d'une séquence de groupe en nouvelle séquence. |
| MAXVALUE | Valeur maximale de la séquence (entier positif requis). Valeur par défaut : valeur maximale d'un BIGINT signé (9223372036854775807). Ce paramètre s'applique uniquement lors de la conversion d'une séquence de groupe en nouvelle séquence. |
| CYCLE ou NOCYCLE | Indique si la séquence redémarre à partir de la valeur de départ. Ce paramètre s'applique uniquement lors de la conversion d'une séquence de groupe en nouvelle séquence.
|
Lors de la conversion d'une séquence en séquence temporelle, les paramètres de valeur de départ, de taille du pas, de valeur maximale et CYCLE/NOCYCLE sont ignorés.
Séquence temporelle
Syntaxe
ALTER SEQUENCE <name> [ CHANGE TO NEW | GROUP ]
START WITH <numeric value>
[ INCREMENT BY <numeric value> ]
[ MAXVALUE <numeric value> ]
[ CYCLE | NOCYCLE ]
Parameter Description
| Paramètre | Description |
| START WITH | Valeur de départ de la séquence. Si ce paramètre n'est pas spécifié, la valeur par défaut est 1. |
| INCREMENT BY | Taille du pas. Valeur par défaut : 1. Ce paramètre s'applique uniquement lors de la conversion d'une séquence temporelle en nouvelle séquence. |
| MAXVALUE | Valeur maximale de la séquence (entier positif requis). Valeur par défaut : valeur maximale d'un BIGINT signé (9223372036854775807). Ce paramètre s'applique uniquement lors de la conversion d'une séquence temporelle en nouvelle séquence. |
| CYCLE ou NOCYCLE | Indique si la séquence redémarre à partir de la valeur de départ. Ce paramètre s'applique uniquement lors de la conversion d'une séquence temporelle en nouvelle séquence.
|
Lors de la conversion d'une séquence en séquence de groupe, seule une unité unique par défaut est prise en charge. Les paramètres de valeur de départ, de taille du pas, de valeur maximale et CYCLE/NOCYCLE sont ignorés.
Exemples
-
Pour modifier la valeur de départ d'une séquence :
ALTER SEQUENCE seq1 START WITH 1000000; -
Pour convertir une séquence en séquence de groupe :
ALTER SEQUENCE seq2 CHANGE TO GROUP START WITH 2000000; -
Pour convertir une séquence en séquence temporelle :
ALTER SEQUENCE seq3 CHANGE TO TIME; -
Pour convertir une séquence en nouvelle séquence avec les paramètres par défaut :
ALTER SEQUENCE seq4 CHANGE TO NEW START WITH 100; -
Pour convertir une séquence en nouvelle séquence avec des paramètres personnalisés :
ALTER SEQUENCE seq5 CHANGE TO NEW START WITH 200 INCREMENT BY 2 MAXVALUE 300 NOCYCLE;