Section courante

A propos

Section administrative du site

CREATE SEQUENCE

Créer une séquence
PostgreSQL

Syntaxe

CREATE [ TEMPORARY | TEMP ] SEQUENCE [ IF NOT EXISTS ] name
[ AS data_type ]
[ INCREMENT [ BY ] increment ]
[ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]
[ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]
[ OWNED BY { table_name.column_name | NONE } ]

Paramètres

Nom Description
TEMP Ce paramètre permet d'indiquer, s'il est spécifié, que l'objet séquence est créé uniquement pour cette session et est automatiquement supprimé à la sortie de la session. Les séquences permanentes existantes portant le même nom ne sont pas visibles (dans cette session) tant que la séquence temporaire existe, sauf si elles sont référencées avec des noms qualifiés de schéma.
TEMPORARY Ce paramètre permet d'indiquer, s'il est spécifié, que l'objet séquence est créé uniquement pour cette session et est automatiquement supprimé à la sortie de la session. Les séquences permanentes existantes portant le même nom ne sont pas visibles (dans cette session) tant que la séquence temporaire existe, sauf si elles sont référencées avec des noms qualifiés de schéma.
IF NOT EXISTS Ce paramètre permet d'indiquer s'il n'existe pas. Ne renvoie pas d'erreur si une relation du même nom existe déjà. Un avis est émis dans ce cas. Notez qu'il n'y a aucune garantie que la relation existante ressemble à la séquence ayant été créée - ce n'est peut-être même pas une séquence.
name Ce paramètre permet d'indiquer le nom (éventuellement qualifié par le schéma) de la séquence à créer.
data_type Ce paramètre permet d'indiquer la clause facultative AS data_type spécifie le type de données de la séquence. Les types valides sont smallint, integer et bigint. Le bigint est la valeur par défaut. Le type de données détermine les valeurs minimale et maximale par défaut de la séquence.
increment Ce paramètre permet d'indiquer quelle valeur est ajoutée à la valeur de séquence actuelle pour créer une nouvelle valeur. Une valeur positive fera une séquence ascendante, une valeur négative une séquence descendante. La valeur par défaut est 1.
minvalue Ce paramètre permet d'indiquer la valeur minimal qu'une séquence peut générer. Si cette clause n'est pas fournie ou si NO MINVALUE est spécifié, les valeurs par défaut seront utilisées. La valeur par défaut pour une séquence ascendante est 1. La valeur par défaut pour une séquence descendante est la valeur minimale du type de données.
NO MINVALUE Ce paramètre permet d'indiquer qu'il n'y a pas de valeur minimal et donc que la valeur par défaut sera utilisé.
maxvalue Ce paramètre permet d'indiquer la valeur maximale de la séquence. Si cette clause n'est pas fournie ou si NO MAXVALUE est spécifié, les valeurs par défaut seront utilisées. La valeur par défaut pour une séquence ascendante est la valeur maximale du type de données. La valeur par défaut pour une séquence décroissante est -1.
NO MAXVALUE Ce paramètre permet d'indiquer qu'il n'y a pas de valeur maximal et donc que la valeur par défaut sera utilisé.
start Ce paramètre permet à la séquence de commencer n'importe où. La valeur de départ par défaut est minvalue pour les séquences ascendantes et maxvalue pour les descendantes.
cache Ce paramètre permet d'indiquer combien de numéros de séquence doivent être préalloués et stockés en mémoire 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 pas de cache), et c'est également la valeur par défaut.
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 ne se passe pas de séquence d'enroulement. Tout appel à nextval après que la séquence a atteint sa valeur maximale renverra une erreur. C'est la valeur par défaut.
OWNED BY table_name.column_name Ce paramètre permet d'entraîner 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. La table spécifiée doit avoir le même propriétaire et être dans le même schéma que la séquence.
OWNED BY NONE Ce paramètre permet d'indiquer qu'il n'y a pas d'association de la séquence à une colonne. C'est la valeur par défaut.

Description

Cette instruction permet de définir un nouveau générateur de séquence.



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