Oracle ALTER SEQUENCE par des exemples pratiques

Oracle Alter Sequence Par Des Exemples Pratiques



Dans Oracle, une séquence est un objet de base de données qui génère une série unique d'entiers qui peuvent être utilisés comme clé primaire ou à toute autre fin où un numéro unique est requis. L'ALTER SEQUENCE est un outil puissant dans Oracle qui vous permet de modifier les attributs d'une séquence dans la base de données. La commande ALTER SEQUENCE peut sembler intimidante au début, mais des exemples pratiques peuvent vous aider à comprendre et à utiliser tout son potentiel.

Ce guide couvrira les exemples suivants :

Réinitialiser la valeur de séquence

Pour réinitialiser la valeur de séquence ou pour redémarrer la valeur de séquence à partir de sa valeur de départ, le ' MODIFIER LA SÉQUENCE ' commande avec le ' REDÉMARRAGE ” La clause peut être utilisée. L'exemple est donné ci-dessous :







MODIFIER LA SÉQUENCE LINUXHINT_SEQ RESTART ;

Dans la commande ci-dessus, ' LINUXHINT_SEQ ” représente le nom de la séquence.



Sortir



La sortie indique que la séquence a été réinitialisée.





Modifier les valeurs minimales de la séquence

Lorsqu'une séquence est créée dans Oracle, par défaut sa valeur minimale est définie sur 1. Le ' MODIFIER LA SÉQUENCE ' commande avec le ' MINVALUE ” peut être utilisée pour modifier la valeur minimale de la séquence. L'exemple est donné ci-dessous :

MODIFIER LA SÉQUENCE LINUXHINT_SEQ MINVALUE -1 ;

Dans cet exemple, la nouvelle valeur minimale est -1 .



Sortir

La sortie a montré que la valeur minimale a été modifiée.

Modifier les valeurs maximales de la séquence

Par défaut, la valeur maximale d'une séquence Oracle est « 10^27 – 1 », qui est la plus grande valeur possible pour un nombre décimal à 38 chiffres. Pour modifier la valeur de séquence maximale, le ' MODIFIER LA SÉQUENCE ' commande avec le ' VALEUR MAX ” La clause peut être utilisée. L'exemple est fourni ci-dessous :

MODIFIER LA SÉQUENCE LINUXHINT_SEQ MAXVALUE 1000 ;

Dans l'exemple ci-dessus, la nouvelle valeur maximale sera 1000 .

Sortir

Dans la capture d'écran, on peut voir que la valeur maximale a été modifiée.

Note : Dans l'exemple ci-dessus, la séquence cessera de générer des valeurs après avoir atteint 1000, et toute tentative de génération d'une valeur au-delà de ce point entraînera une erreur.

Modifier la taille de mise en cache de la séquence

La taille du cache détermine le nombre de numéros de séquence qui sont pré-alloués et stockés en mémoire pour un accès plus rapide. Pour changer le dimensionnement du cache de la séquence, utilisez le ' CACHE ” clause avec le “ MODIFIER LA SÉQUENCE ' commande. Un exemple est donné ci-dessous:

MODIFIER LA SÉQUENCE LINUXHINT_SEQ CACHE 50 ;

Dans l'exemple ci-dessus, la taille du cache de la séquence est définie sur cinquante . Cela signifie que le numéro de séquence 50 sera pré-alloué à la fois pour un accès plus rapide.

Sortir

La sortie indique que la taille du cache a été modifiée.

Définir la taille et l'ordre de la séquence de cache

Pour définir la taille du cache de séquence et générer les numéros de séquence dans l'ordre, utilisez le ' COMMANDE ' et ' CACHE ” clauses avec le “ MODIFIER LA SÉQUENCE ' commande. Voici un exemple:

MODIFIER LA SÉQUENCE LINUXHINT_SEQ CACHE 100 ORDRE ;

Dans cet exemple, la nouvelle valeur de la taille du cache sera 100 .

Sortir

La sortie indiquait que les modifications avaient été apportées à la séquence.

Définir la séquence pour générer des valeurs décroissantes

L'intervalle entre les numéros de séquence est déterminé par le numéro d'incrément. La valeur d'incrément est définie sur 1 par défaut, ce qui signifie que le numéro suivant de la série est renvoyé à chaque fois que la séquence est appelée. Lorsque l'incrément est défini sur -1, la séquence génère des entiers dans l'ordre décroissant.

Pour définir la séquence pour générer des valeurs décroissantes, utilisez le ' INCREMENTER DE ' avec le ' MODIFIER LA SÉQUENCE ' et définissez la valeur sur -1. L'exemple est donné ci-dessous :

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1 ;

Dans cet exemple, la valeur est -1 , ce qui signifie que chaque fois que la séquence est appelée, le numéro précédent de la séquence est renvoyé.

Sortir

La sortie indique que la séquence a été définie pour générer des valeurs décroissantes.

Modifier la valeur d'incrément de la séquence

Pour changer la valeur d'incrément de la séquence, utilisez le bouton ' INCREMENTER DE ' avec le ' MODIFIER LA SÉQUENCE ” et définissez la valeur en conséquence. L'exemple est fourni ci-dessous :

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY 2 ;

Dans cet exemple, la valeur est 2 , ce qui signifie qu'à chaque fois que la séquence est appelée, le numéro suivant de la séquence sera incrémenté de 2.

Sortir

La sortie indique que la séquence a été modifiée en conséquence.

Modifier la séquence pour activer l'option de cycle

Lorsque l'option de cycle est activée pour une séquence, la séquence s'enroule et recommence depuis le début (MINVALUE) une fois qu'elle atteint la valeur maximale (MAXVALUE). Pour activer cette option, utilisez le ' CYCLE ” clause avec le “ MODIFIER LA SÉQUENCE ' commande. L'exemple est donné ci-dessous :

MODIFIER LA SÉQUENCE CYCLE LINUXHINT_SEQ ;

Sortir

La sortie affichée l'option cycle a été activée.

Modifier la séquence pour désactiver le cycle

Lorsque l'option de cycle est désactivée pour une séquence, la séquence cessera de générer des valeurs une fois qu'elle aura atteint sa valeur maximale (MAXVALUE) ou sa valeur minimale (MINVALUE), selon l'ordre de génération. Pour désactiver cette option, utilisez la clause 'NOCYCLE' avec la commande 'ALTER SEQUENCE'. L'exemple est fourni ci-dessous :

MODIFIER LA SÉQUENCE LINUXHINT_SEQ NOCYCLE ;

Sortir

La sortie a montré que l'option de cycle a été désactivée.

Modifier la séquence pour modifier plusieurs options

Tapez la commande donnée pour définir la séquence avec un incrément négatif de -1, une valeur maximale de 10 et une option de cycle activée :

ALTER SEQUENCE LINUXHINT_SEQ INCREMENT BY -1 MAXVALUE 10 CYCLE;

Sortir

La sortie a montré que les modifications avaient été apportées à la séquence avec succès.

Conclusion

Dans Oracle, le ' MODIFIER LA SÉQUENCE ' vous permet de modifier les attributs d'une séquence en réinitialisant la valeur de la séquence, en modifiant les valeurs minimale et maximale, la valeur d'incrémentation, la taille de la mise en cache, l'ordre et l'activation ou la désactivation de l'option de cycle. Ces modifications sont utiles dans de nombreux types de circonstances, par exemple lorsque vous devez modifier la valeur de départ d'une séquence ou ajuster la taille de la mise en cache pour de meilleures performances. Cet article a expliqué divers cas d'utilisation de la commande ALTER SEQUENCE à l'aide d'exemples pratiques.