

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esempi di CTAS
<a name="r_CTAS_examples"></a>

Il seguente esempio crea una tabella chiamata EVENT\$1BACKUP per la tabella EVENT:

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

La tabella risultante eredita le chiavi di distribuzione e ordinamento dalla tabella 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
```

Il seguente comando crea una nuova tabella chiamata EVENTDISTSORT selezionando quattro colonne dalla tabella EVENT. La nuova tabella viene distribuita da EVENTID e ordinata per EVENTID e DATEID: 

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

Il risultato è illustrato di seguito.

```
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
```

Puoi creare esattamente la stessa tabella utilizzando i nomi delle colonne per le chiavi di distribuzione e ordinamento. Ad esempio:

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

La seguente istruzione applica la distribuzione uniforme alla tabella ma non definisce una chiave di ordinamento esplicita. 

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

La tabella non eredita la chiave di ordinamento dalla tabella EVENT (EVENTID) perché la distribuzione EVEN è specificata per la nuova tabella. La nuova tabella non ha la chiave di ordinamento e la chiave di distribuzione. 

```
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
```

La seguente istruzione applica la distribuzione uniforme e definisce una chiave di ordinamento: 

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

 La tabella risultante ha una chiave di ordinamento ma non una chiave di distribuzione. 

```
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
```

La seguente istruzione ridistribuisce la tabella EVENT su una colonna chiave diversa dai dati in entrata che sono ordinati sulla colonna EVENTID e non definisce la colonna SORTKEY e quindi la tabella non è ordinata. 

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

Il risultato è illustrato di seguito. 

```
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
```