Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
CREATE TABLE
CREATE TABLE définit une nouvelle table.
CREATE TABLE [ IF NOT EXISTS ] table_name ( [ { column_name data_type [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option ... ] } [, ... ] ] ) where column_constraint is: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK ( expression )| DEFAULT default_expr | GENERATED ALWAYS AS ( generation_expr ) STORED | GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( sequence_options ) | UNIQUE [ NULLS [ NOT ] DISTINCT ] index_parameters | PRIMARY KEY index_parameters | and table_constraint is: [ CONSTRAINT constraint_name ] { CHECK ( expression ) | UNIQUE [ NULLS [ NOT ] DISTINCT ] ( column_name [, ... ] ) index_parameters | PRIMARY KEY ( column_name [, ... ] ) index_parameters | and like_option is: { INCLUDING | EXCLUDING } { COMMENTS | CONSTRAINTS | DEFAULTS | GENERATED | IDENTITY | INDEXES | STATISTICS | ALL } index_parameters in UNIQUE, and PRIMARY KEY constraints are: [ INCLUDE ( column_name [, ... ] ) ]
Colonnes d'identité
Note
Lorsque vous utilisez des colonnes d'identité, la valeur du cache doit être soigneusement prise en compte. Pour plus d'informations, consultez la légende Important sur la CREATE SEQUENCE page.
Pour obtenir des conseils sur la meilleure façon d'utiliser les colonnes d'identité en fonction des modèles de charge de travail, voirUtilisation de séquences et de colonnes d'identité.
La GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( clause crée la colonne en tant que colonne d'identité. Une séquence implicite y sera attachée et dans les lignes nouvellement insérées, la colonne contiendra automatiquement les valeurs de la séquence qui lui est attribuée. Une telle colonne l'est implicitementsequence_options )NOT NULL.
Les clauses ALWAYS et BY DEFAULT déterminent la manière dont les valeurs spécifiées explicitement par l'utilisateur sont traitées dans UPDATE les commandes INSERT et.
Dans une INSERT commande, si elle ALWAYS est sélectionnée, une valeur spécifiée par l'utilisateur n'est acceptée que si l'INSERTinstruction le préciseOVERRIDING SYSTEM
VALUE. Si cette option BY DEFAULT est sélectionnée, la valeur spécifiée par l'utilisateur est prioritaire.
Dans une UPDATE commande, si elle ALWAYS est sélectionnée, toute mise à jour de la colonne vers une valeur autre que DEFAULT sera rejetée. Si cette option BY
DEFAULT est sélectionnée, la colonne peut être mise à jour normalement. (Il n'y a aucune OVERRIDING clause pour la UPDATE commande.)
La sequence_options clause peut être utilisée pour remplacer les paramètres de la séquence. Les options disponibles incluent celles indiquées pourCREATE SEQUENCE, plusSEQUENCE NAME
. SansnameSEQUENCE NAME, le système choisit un nom inutilisé pour la séquence.