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.
ALTERTABLEADDet des DROP COLUMN exemples
Les exemples suivants montrent comment ALTER TABLE ajouter puis supprimer une colonne de table de base et comment supprimer une colonne contenant un objet dépendant.
ADDpuis DROP une colonne de base
L'exemple suivant ajoute une SCORE colonne FEEDBACK _ autonome à la USERS table. Cette colonne contient simplement un entier, et la valeur par défaut de cette colonne est NULL (aucun score de feedback).
Tout d'abord, interrogez la table du DEF catalogue TABLE PG_ _ pour voir le schéma de la USERS table :
column | type | encoding | distkey | sortkey --------------+------------------------+----------+---------+-------- userid | integer | delta | true | 1 username | character(8) | lzo | false | 0 firstname | character varying(30) | text32k | false | 0 lastname | character varying(30) | text32k | false | 0 city | character varying(30) | text32k | false | 0 state | character(2) | bytedict | false | 0 email | character varying(100) | lzo | false | 0 phone | character(14) | lzo | false | 0 likesports | boolean | none | false | 0 liketheatre | boolean | none | false | 0 likeconcerts | boolean | none | false | 0 likejazz | boolean | none | false | 0 likeclassical | boolean | none | false | 0 likeopera | boolean | none | false | 0 likerock | boolean | none | false | 0 likevegas | boolean | none | false | 0 likebroadway | boolean | none | false | 0 likemusicals | boolean | none | false | 0
Maintenant, ajoutez la colonne feedback_score :
alter table users add column feedback_score int default NULL;
Sélectionnez la SCORE colonne FEEDBACK _ dans USERS pour vérifier qu'elle a été ajoutée :
select feedback_score from users limit 5;
feedback_score ---------------- NULL NULL NULL NULL NULL
Supprimez la colonne pour rétablir l'original DDL :
alter table users drop column feedback_score;
Suppression d’une colonne avec un objet dépendant
L’exemple suivant supprime une colonne qui a un objet dépendant. En conséquence, l’objet dépendant est également supprimé.
Pour commencer, ajoutez à nouveau SCORE la colonne FEEDBACK _ au USERS tableau :
alter table users add column feedback_score int default NULL;
Créez ensuite une vue à partir de la USERS table nommée USERS _ VIEW :
create view users_view as select * from users;
Maintenant, essayez de supprimer la SCORE colonne FEEDBACK _ de la USERS table. Cette DROP instruction utilise le comportement par défaut (RESTRICT) :
alter table users drop column feedback_score;
Amazon Redshift affiche un message d’erreur indiquant que la colonne ne peut pas être supprimée, car un autre objet en dépend.
Essayez à nouveau de supprimer la SCORE colonne FEEDBACK _, en spécifiant cette fois CASCADE de supprimer tous les objets dépendants :
alter table users drop column feedback_score cascade;