View a markdown version of this page

ALTER TABLE - Amazon Aurora DSQL

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.

ALTER TABLE

ALTER TABLE modifie la définition d’une table.

Syntaxe prise en charge

ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] action [, ... ] ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME [ COLUMN ] column_name TO new_column_name ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] RENAME CONSTRAINT constraint_name TO new_constraint_name ALTER TABLE [ IF EXISTS ] name RENAME TO new_name ALTER TABLE [ IF EXISTS ] name SET SCHEMA new_schema where action is one of: ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type [ STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ] ALTER [ COLUMN ] column_name SET DEFAULT expression ALTER [ COLUMN ] column_name DROP DEFAULT ALTER [ COLUMN ] column_name DROP NOT NULL ALTER [ COLUMN ] column_name DROP EXPRESSION [ IF EXISTS ] ALTER [ COLUMN ] column_name ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence_options ) ] ALTER [ COLUMN ] column_name { SET GENERATED { ALWAYS | BY DEFAULT } | SET sequence_option | RESTART [ [ WITH ] restart ] } [...] ALTER [ COLUMN ] column_name DROP IDENTITY [ IF EXISTS ] ALTER [ COLUMN ] column_name SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ADD table_constraint_using_index DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ] OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } and table_constraint_using_index is: [ CONSTRAINT constraint_name ] UNIQUE USING INDEX index_name

Description

ADD [ COLUMN ] [ IF NOT EXISTS ]

Ce formulaire ajoute une nouvelle colonne au tableau, en utilisant la même syntaxe queCREATE TABLE. Si cette IF NOT EXISTS valeur est spécifiée et qu'une colonne portant ce nom existe déjà, aucune erreur n'est générée.

SET/DROP DEFAULT

Ces formulaires définissent ou suppriment la valeur par défaut d'une colonne (la suppression équivaut à définir la valeur par défaut sur NULL). La nouvelle valeur par défaut ne s'appliquera que dans UPDATE les commandes suivantes INSERT ; elle n'entraîne pas de modification des lignes déjà présentes dans le tableau.

DROP NOT NULL

Ce formulaire modifie une colonne pour autoriser les valeurs nulles.

DROP EXPRESSION [ IF EXISTS ]

Ce formulaire transforme une colonne générée stockée en colonne de base normale. Les données existantes dans les colonnes sont conservées, mais les modifications futures n'appliqueront plus l'expression de génération. Si elle DROP EXPRESSION IF EXISTS est spécifiée et que la colonne n'est pas une colonne générée, aucune erreur n'est générée. Dans ce cas, un avis est émis à la place.

ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY
SET GENERATED { ALWAYS | BY DEFAULT }
DROP IDENTITY [ IF EXISTS ]

Ces formulaires permettent de déterminer si une colonne est une colonne d'identité ou de modifier l'attribut de génération d'une colonne d'identité existante. Consultez CREATE TABLE pour plus de détails. Par exempleSET DEFAULT, ces formulaires n'affectent que le comportement INSERT des UPDATE commandes suivantes ; ils ne modifient pas les lignes déjà présentes dans le tableau.

sequence_optionIl s'agit d'une option prise en charge par ALTER SEQUENCE tel queINCREMENT BY. Ces formulaires modifient la séquence qui sous-tend une colonne d'identité existante.

Note

Amazon Aurora DSQL nécessite une CACHE valeur explicite lors de son utilisationADD GENERATED AS IDENTITY. De plus, les colonnes d'identité ne sont prises en charge que sur bigint les colonnes.

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é.

SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT }

Ce formulaire définit le mode de stockage d'une colonne. Pour plus de détails sur les modes de stockage disponibles, consultez Mode de stockage la CREATE TABLE page.

ADD table_constraint_using_index

Ce formulaire ajoute une nouvelle UNIQUE contrainte à une table basée sur un index unique existant. Toutes les colonnes de l'index seront incluses dans la contrainte.

L'index doit être dans un VALID état ; l'ajout d'une contrainte unique à l'aide d'un index alors que l'index est en cours de construction n'est pas pris en charge.

Si un nom de contrainte est fourni, l'index sera renommé pour correspondre au nom de la contrainte. Dans le cas contraire, le nom de la contrainte sera le même que celui de l'index.

Une fois cette commande exécutée, l'index est « possédé » par la contrainte, de la même manière que s'il avait été créé par une CREATE UNIQUE INDEX ASYNC commande normale. En particulier, la suppression de la contrainte fera également disparaître l'index.

DROP CONSTRAINT [ IF EXISTS ]

Ce formulaire supprime la contrainte spécifiée sur une table, ainsi que tout indice sous-jacent à la contrainte. Si elle IF EXISTS est spécifiée et que la contrainte n'existe pas, aucune erreur n'est générée. Dans ce cas, un avis est émis à la place.

Important

Actuellement, l'ajout d'une nouvelle contrainte est pris en charge par l'CREATE TABLEexpression. ALTER TABLE ADD CONSTRAINT(support de mise en miroir pourDROP CONSTRAINT) n'est pas encore disponible. Si vous avez des questions concernant cette fonctionnalité à venir, contactez AWS Support ou contactez directement le DSQL Public Discord.

OWNER TO

Ce formulaire remplace le propriétaire de la table par l'utilisateur spécifié.

RENAME

Les RENAME formulaires modifient le nom d'une table, le nom d'une colonne individuelle d'une table ou le nom d'une contrainte de la table. Lorsque vous renommez une contrainte qui possède un index sous-jacent, l'index est également renommé. Il n'y a aucun effet sur les données enregistrées.

SET SCHEMA

Ce formulaire déplace la table dans un autre schéma. Les index, les contraintes et les séquences associés appartenant aux colonnes de table sont également déplacés.

Parameters

IF EXISTS

Ne renvoie pas d'erreur si la table n'existe pas. Un avis est émis dans ce cas.

name

Nom (éventuellement qualifié par schéma) d'une table existante à modifier. S'il ONLY est spécifié avant le nom de la table, seule cette table est modifiée. Si ONLY ce n'est pas spécifié, la table et toutes ses tables dérivées (le cas échéant) sont modifiées. Facultativement, il * peut être spécifié après le nom de la table pour indiquer explicitement que les tables descendantes sont incluses.

column_name

Nom d'une colonne nouvelle ou existante.

new_column_name

Nouveau nom d’une colonne existante.

new_name

Nouveau nom pour la table.

data_type

Type de données de la nouvelle colonne.

constraint_name

Nom d'une contrainte nouvelle ou existante.

CASCADE

Supprimez automatiquement les objets qui dépendent de la contrainte supprimée (par exemple, les vues faisant référence à la colonne), puis tous les objets qui dépendent de ces objets.

RESTRICT

Refusez de supprimer la contrainte s'il existe des objets dépendants. Il s’agit du comportement de par défaut.

new_owner

Nom d'utilisateur du nouveau propriétaire de la table.

new_schema

Nom du schéma vers lequel la table sera déplacée.