ALTER SEQUENCE

Modifie les propriétés d’une séquence existante.

Voir aussi :

CREATE SEQUENCE , DROP SEQUENCE , SHOW SEQUENCES , DESCRIBE SEQUENCE

Syntaxe

ALTER SEQUENCE [ IF EXISTS ] <name> RENAME TO <new_name>

ALTER SEQUENCE [ IF EXISTS ] <name> [ SET ] [ INCREMENT [ BY ] [ = ] <sequence_interval> ]

ALTER SEQUENCE [ IF EXISTS ] <name> SET
  [ { ORDER | NOORDER } ]
  [ COMMENT = '<string_literal>' ]
Copy

Paramètres

name

Indique l’identifiant de la séquence à modifier. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Pour plus de détails sur les identificateurs, voir Exigences relatives à l’identificateur.

RENAME TO new_name

Indique le nouvel identificateur de la séquence ; doit être unique pour le schéma.

Pour plus de détails sur les identificateurs, voir Exigences relatives à l’identificateur.

Vous pouvez déplacer l’objet vers une autre base de données et/ou un autre schéma tout en renommant éventuellement l’objet. Pour ce faire, spécifiez une valeur new_name qualifiée qui inclut le nouveau nom de la base de données et/ou du schéma sous la forme db_name.schema_name.object_name ou schema_name.object_name, respectivement.

Note

  • La base de données et/ou le schéma de destination doivent déjà exister. En outre, un objet portant le même nom ne peut pas déjà exister dans le nouvel emplacement ; sinon, l’instruction renvoie une erreur.

  • Le déplacement d’un objet vers un schéma d’accès géré est interdit sauf si le propriétaire de l’objet (c’est-à-dire le rôle qui a le privilège OWNERSHIP sur l’objet) est également propriétaire du schéma cible.

Lorsqu’un objet est renommé, les autres objets qui le référencent doivent être mis à jour avec le nouveau nom.

SET...

Spécifie les propriétés à définir pour la séquence :

[ INCREMENT [ BY ] sequence_interval ]

Spécifie l’intervalle d’incrémentation de la séquence :

  • Pour un intervalle de séquence positif n, les valeurs suivantes n-1 sont réservées par chaque appel de séquence.

  • Pour un intervalle de séquence négatif -n, les valeurs inférieures suivantes n-1 sont réservées par chaque appel de séquence.

Les valeurs prises en charge sont n’importe quelle valeur non nulle qui peut être représentée par un entier de complément de deux de 64 bits.

{ ORDER | NOORDER }

Indique si les valeurs de la séquence sont générées par ordre croissant ou non.

  • ORDER spécifie que les valeurs générées pour une séquence ou une colonne auto-incrémentée sont dans l’ordre croissant sont en ordre croissant (ou, si l’intervalle est une valeur négative, en ordre décroissant).

    Par exemple, si une séquence ou une colonne auto-incrémentée comporte START 1 INCREMENT 2, les valeurs générées peuvent être 1, 3, 5, 7, 9, etc.

  • NOORDER précise que l’ordre croissant des valeurs n’est pas garanti.

    Par exemple, si une séquence comporte START 1 INCREMENT 2, les valeurs générées peuvent être 1, 3, 101, 5, 103, etc.

    NOORDER peut améliorer les performances lorsque plusieurs opérations d’insertion doivent être effectuées simultanément (par exemple, lorsque plusieurs clients exécutent plusieurs instructions INSERT).

Note

Si une séquence est réglée sur NOORDER, vous ne pouvez pas la changer en ORDER.

COMMENT = 'string_literal'

Ajoute un commentaire ou remplace un commentaire existant pour la séquence.

Notes sur l’utilisation

  • La première valeur initiale d’une séquence ne peut pas être modifiée après la création de la séquence.

  • Concernant les métadonnées :

    Attention

    Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

Exemples

Renommer la séquence myseq en newseq :

ALTER SEQUENCE myseq RENAME TO newseq;
Copy