Section courante

A propos

Section administrative du site

ALTER SEQUENCE

Modifie la séquence
PostgreSQL

Syntaxe

ALTER SEQUENCE [ IF EXISTS ] name [ AS data_type ] [ INCREMENT [ BY ] increment ] [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ] [ START [ WITH ] start ] [ RESTART [ [ WITH ] restart ] ] [ CACHE cache ] [ [ NO ] CYCLE ] [ OWNED BY { table_name.column_name | NONE } ]
ALTER SEQUENCE [ IF EXISTS ] name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER SEQUENCE [ IF EXISTS ] name RENAME TO new_name
ALTER SEQUENCE [ IF EXISTS ] name SET SCHEMA new_schema

Paramètres

Nom Description
name Ce paramètre permet d'indiquer le nom (éventuellement qualifié par le schéma) d'une séquence à modifier.
IF EXISTS Ce paramètre permet d'indiquer qu'il ne renvoie pas d'erreur si la séquence n'existe pas. Un avis est émis dans ce cas.
data_type Ce paramètre permet d'indiquer le type de données de la séquence. Les types valides sont smallint, integer et bigint. La modification du type de données change automatiquement les valeurs minimales et maximales de la séquence si et seulement si les valeurs minimales et maximales précédentes étaient la valeur minimale ou maximale de l'ancien type de données (en d'autres termes, si la séquence avait été créée avec NO MINVALUE ou NO MAXVALUE, implicitement ou explicitement). Sinon, les valeurs minimale et maximale sont conservées, à moins que de nouvelles valeurs ne soient données dans le cadre de la même commande. Si les valeurs minimale et maximale ne correspondent pas au nouveau type de données, une erreur sera générée.
increment Ce paramètre permet d'indiquer une valeur positive fera une séquence ascendante, une valeur négative une séquence descendante. Si elle n'est pas spécifiée, l'ancienne valeur d'incrément sera conservée. La clause INCREMENT BY incrément est facultative.
minvalue|NO MINVALUE Ce paramètre permet de déterminer la valeur minimale qu'une séquence peut générer. Si NO MINVALUE est spécifié, les valeurs par défaut de 1 et la valeur minimale du type de données pour les séquences ascendantes et descendantes, respectivement, seront utilisées. Si aucune option n'est spécifiée, la valeur minimale actuelle sera maintenue.
maxvalue|NO MAXVALUE Ce paramètre permet d'indiquer la clause facultative MAXVALUE maxvalue déterminant la valeur maximale de la séquence. Si NO MAXVALUE est spécifié, les valeurs par défaut de la valeur maximale du type de données et -1 pour les séquences ascendantes et descendantes, respectivement, seront utilisées. Si aucune option n'est spécifiée, la valeur maximale actuelle sera maintenue.
start Ce paramètre permet d'indiquer la valeur de début. Cela n'a aucun effet sur la valeur de séquence actuelle ; il définit simplement la valeur que les futures commandes ALTER SEQUENCE RESTART utiliseront. La clause facultative START WITH start modifie la valeur de début enregistrée de la séquence.
restart Ce paramètre permet d'indiquer la clause optionnelle RESTART [ WITH restart ] modifie la valeur courante de la séquence. Ceci est similaire à l'appel de la fonction setval avec is_call = false : la valeur spécifiée sera renvoyée par le prochain appel de nextval. L'écriture de RESTART sans valeur de redémarrage équivaut à fournir la valeur de début ayant été enregistrée par CREATE SEQUENCE ou définie en dernier par ALTER SEQUENCE START WITH. Contrairement à un appel setval, une opération RESTART sur une séquence est transactionnelle et empêche les transactions concurrentes d'obtenir des nombres de la même séquence. Si ce n'est pas le mode de fonctionnement souhaité, setval doit être utilisé.
cache Ce paramètre permet de pré-allouer et d'entreposer en mémoire des numéros de séquence pour un accès plus rapide. La valeur minimale est 1 (une seule valeur peut être générée à la fois, c'est-à-dire aucun cache). Si elle n'est pas spécifiée, l'ancienne valeur du cache sera conservée.
CYCLE Ce paramètre permet à la séquence de s'enrouler lorsque la valeur max ou la valeur min a été atteinte respectivement par une séquence ascendante ou descendante. Si la limite est atteinte, le prochain nombre généré sera respectivement la valeur min ou la valeur max.
NO CYCLE Ce paramètre permet d'indiquer qu'il n'y pas de cycle. Si le mot clef optionnel NO CYCLE est spécifié, tout appel à nextval après que la séquence a atteint sa valeur maximale renverra une erreur. Si ni CYCLE ni NO CYCLE ne sont spécifiés, l'ancien comportement du cycle sera conservé.
OWNED BY table_name.column_name|OWNED BY NONE Ce paramètre permet d'effectuer l'association de la séquence à une colonne de table spécifique, de sorte que si cette colonne (ou sa table entière) est supprimée, la séquence sera également supprimée automatiquement. Si elle est spécifiée, cette association remplace toute association précédemment spécifiée pour la séquence. La table spécifiée doit avoir le même propriétaire et être dans le même schéma que la séquence. Spécifier OWNED BY NONE supprime toute association existante, rendant la séquence «autonome».
new_owner Ce paramètre permet d'indiquer le nom d'utilisateur du nouveau propriétaire de la séquence.
new_name Ce paramètre permet d'indiquer le nouveau nom de la séquence.
new_schema Ce paramètre permet d'indiquer le nouveau schéma de la séquence.

Description

Cette instruction permet de changer la définition d'un générateur de séquence.



Dernière mise à jour : Jeudi, le 14 Octobre 2021