

 Amazon Redshift ne prendra plus en charge la création de nouveaux UDFs Python à partir du patch 198. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement jusqu’au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# Exemples ALTER TABLE ADD et DROP COLUMN
<a name="r_ALTER_TABLE_COL_ex-add-drop"></a>

Les exemples suivants montrent comment utiliser ALTER TABLE pour ajouter, puis supprimer une colonne de table de base, ainsi que pour supprimer une colonne avec un objet dépendant. 

## ADD puis DROP une colonne de base
<a name="r_ALTER_TABLE_COL_ex-add-then-drop-a-basic-column"></a>

L’exemple suivant ajoute une colonne FEEDBACK\_SCORE autonome à la table USERS. Cette colonne contient simplement un nombre entier et la valeur par défaut de cette colonne est NULL (pas de score de commentaire). 

Commencez par interroger la table du catalogue PG\_TABLE\_DEF pour afficher le schéma de la table USERS : 

```
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 colonne FEEDBACK\_SCORE de la table 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 le DDL d’origine : 

```
alter table users drop column feedback_score;
```

## Suppression d’une colonne avec un objet dépendant
<a name="r_ALTER_TABLE_COL_ex-dropping-a-column-with-a-dependent-object"></a>

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 la colonne FEEDBACK\_SCORE à la table USERS : 

```
alter table users
add column feedback_score int
default NULL;
```

Ensuite, créez une vue de la table USERS appelée USERS\_VIEW : 

```
create view users_view as select * from users;
```

Maintenant, essayez de supprimer la colonne FEEDBACK\_SCORE de la table USERS. Cette instruction DROP 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 colonne FEEDBACK\_SCORE, cette fois en spécifiant CASCADE pour supprimer tous les objets dépendants : 

```
alter table users
drop column feedback_score cascade;
```