

 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 ALTER TABLE ADD e DROP COLUMN
<a name="r_ALTER_TABLE_COL_ex-add-drop"></a>

I seguenti esempi mostrano come usare ALTER TABLE per aggiungere e rimuovere una colonna di base e anche come eliminare una colonna con un oggetto dipendente. 

## ADD e DROP di una colonna di base
<a name="r_ALTER_TABLE_COL_ex-add-then-drop-a-basic-column"></a>

L'esempio seguente aggiunge una colonna autonoma FEEDBACK\$1SCORE alla tabella USERS. Questa colonna contiene semplicemente uninteger e il valore predefinito per questa colonna è NULL (nessun punteggio di feedback). 

Per prima cosa, esegui una query sulla tabella di catalogo PG\$1TABLE\$1DEF per visualizzare lo schema della tabella 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
```

Ora aggiungi la colonna feedback\$1score: 

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

Seleziona la colonna FEEDBACK\$1SCORE da USERS per verificare che sia stata aggiunta: 

```
select feedback_score from users limit 5;

feedback_score
----------------
NULL
NULL
NULL
NULL
NULL
```

Rimuovi la colonna per ripristinare la DDL originale: 

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

## Eliminazione di una colonna con un oggetto dipendente
<a name="r_ALTER_TABLE_COL_ex-dropping-a-column-with-a-dependent-object"></a>

Nell'esempio seguente viene rimossa una colonna che ha un oggetto dipendente. Di conseguenza, anche l'oggetto dipendente viene rimosso. 

Per iniziare, aggiungi nuovamente la colonna FEEDBACK\$1SCORE alla tabella USERS: 

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

Quindi, crea una vista dalla tabella USERS chiamata USERS\$1VIEW: 

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

Ora prova a rimuovere la colonna FEEDBACK\$1SCORE dalla tabella USERS. Questa istruzione DROP utilizza il comportamento predefinito (RESTRICT): 

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

Amazon Redshift visualizza un messaggio di errore indicante che la colonna non può essere rimossa perché un altro oggetto dipende da essa. 

Prova a rimuovere nuovamente la colonna FEEDBACK\$1SCORE, questa volta specificando CASCADE per eliminare tutti gli oggetti dipendenti: 

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