

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner 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 de CTAS
<a name="r_CTAS_examples"></a>

L’exemple suivant crée une table appelée EVENT\_BACKUP pour la table EVENT :

```
create table event_backup as select * from event;
```

La table résultante hérite les clés de distribution et les clés de tri de la table EVENT. 

```
select "column", type, encoding, distkey, sortkey
from pg_table_def where tablename = 'event_backup';

column    | type                        | encoding | distkey | sortkey
----------+-----------------------------+----------+---------+--------
catid     | smallint                    | none     | false   |       0
dateid    | smallint                    | none     | false   |       1
eventid   | integer                     | none     | true    |       0
eventname | character varying(200)      | none     | false   |       0
starttime | timestamp without time zone | none     | false   |       0
venueid   | smallint                    | none     | false   |       0
```

La commande suivante crée une table appelée EVENTDISTSORT en sélectionnant quatre colonnes de la table EVENT. La nouvelle table est distribuée sur EVENTID et triée sur EVENTID et DATEID : 

```
create table eventdistsort
distkey (1)
sortkey (1,3)
as
select eventid, venueid, dateid, eventname
from event;
```

Le résultat est le suivant :

```
select "column", type, encoding, distkey, sortkey
from pg_table_def where tablename = 'eventdistsort';

column   |          type          | encoding | distkey | sortkey
---------+------------------------+----------+---------+-------
eventid   | integer               | none     | t       | 1
venueid   | smallint              | none     | f       | 0
dateid    | smallint              | none     | f       | 2
eventname | character varying(200)| none     | f       | 0
```

Vous pouvez créer exactement la même table à l’aide des noms de colonne pour les clés de tri et de distribution. Par exemple :

```
create table eventdistsort1
distkey (eventid)
sortkey (eventid, dateid)
as
select eventid, venueid, dateid, eventname
from event;
```

L’instruction suivante applique une distribution uniforme à la table, mais ne définit pas une clé de tri explicite : 

```
create table eventdisteven
diststyle even
as
select eventid, venueid, dateid, eventname
from event;
```

La table n’hérite pas de la clé de tri de la table EVENT (EVENTID), car la distribution EVEN a été spécifiée pour la nouvelle table. La nouvelle table n’a ni clé de tri, ni clé de distribution. 

```
select "column", type, encoding, distkey, sortkey
from pg_table_def where tablename = 'eventdisteven';

column    |          type          | encoding | distkey | sortkey
----------+------------------------+----------+---------+---------
eventid   | integer                | none     | f       | 0
venueid   | smallint               | none     | f       | 0
dateid    | smallint               | none     | f       | 0
eventname | character varying(200) | none     | f       | 0
```

L’instruction suivante applique une distribution uniforme et définit une clé de tri : 

```
create table eventdistevensort diststyle even sortkey (venueid)
as select eventid, venueid, dateid, eventname from event;
```

 La table en résultant dispose d’une clé de tri, mais pas de clé de distribution. 

```
select "column", type, encoding, distkey, sortkey
from pg_table_def where tablename = 'eventdistevensort';

column    |          type          | encoding | distkey | sortkey
----------+------------------------+----------+---------+-------
eventid   | integer                | none     | f       | 0
venueid   | smallint               | none     | f       | 1
dateid    | smallint               | none     | f       | 0
eventname | character varying(200) | none     | f       | 0
```

L’instruction suivante répartit la table EVENT sur une autre colonne de clé à partir des données entrantes, qui sont triées sur la colonne EVENTID, et ne définit aucune colonne SORTKEY ; par conséquent, la table n’est pas triée. 

```
create table venuedistevent distkey(venueid)
as select * from event;
```

Le résultat est le suivant : 

```
select "column", type, encoding, distkey, sortkey
from pg_table_def where tablename = 'venuedistevent';

 column   |            type             | encoding | distkey | sortkey
----------+-----------------------------+----------+---------+-------
eventid   | integer                     | none     | f       | 0
venueid   | smallint                    | none     | t       | 0
catid     | smallint                    | none     | f       | 0
dateid    | smallint                    | none     | f       | 0
eventname | character varying(200)      | none     | f       | 0
starttime | timestamp without time zone | none     | f       | 0
```