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