

 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à.

# TRUNCATE
<a name="r_TRUNCATE"></a>

Elimina tutte le righe da una tabella senza eseguire una scansione della tabella: questa operazione è un'alternativa più rapida a un'operazione DELETE non qualificata. Per eseguire un comando TRUNCATE, devi disporre dell’autorizzazione TRUNCATE TABLE, essere il proprietario della tabella o essere un utente con privilegi avanzati. Per concedere le autorizzazioni per troncare una tabella, utilizza il comando [GRANT](r_GRANT.md).

TRUNCATE è molto più efficiente di DELETE e non richiede VACUUM e ANALYZE. Tuttavia, tieni presente che TRUNCATE esegue il commit della transazione in cui viene eseguito.

## Sintassi
<a name="r_TRUNCATE-synopsis"></a>

```
TRUNCATE [ TABLE ] table_name
```

Il comando funziona anche su una vista materializzata.

```
TRUNCATE materialized_view_name
```

## Parameters
<a name="r_TRUNCATE-parameters"></a>

TABLE   
Parola chiave facoltativa. 

 *table\_name*   
Tabella temporanea o persistente. Solo il proprietario della tabella o un utente con privilegi avanzati può troncarla.   
Puoi troncare qualsiasi tabella, incluse le tabelle a cui si fa riferimento nei vincoli di chiave esterna.   
Non è necessario sottoporre a vacuum una tabella dopo averla troncata. 

 *materialized\_view\_name*   
Una vista materializzata.  
È possibile troncare una vista materializzata utilizzata per [Importazione in streaming in una vista materializzata](materialized-view-streaming-ingestion.md). 

## Note per l'utilizzo
<a name="r_TRUNCATE_usage_notes"></a>
+  Il comando TRUNCATE esegue il commit della transazione in cui viene eseguito; di conseguenza, non è possibile eseguire il rollback di un'operazione TRUNCATE e un comando TRUNCATE può eseguire altre operazioni quando esegue il commit. 
+ Le operazioni TRUNCATE mantengono blocchi esclusivi quando vengono eseguite sulle viste materializzate in streaming di Amazon Redshift connesse a uno dei seguenti elementi:
  +  Un flusso di dati Amazon Kinesis 
  +  Un argomento Streaming gestito da Amazon per Apache Kafka 
  +  Un flusso esterno supportato, ad esempio un argomento Confluent Cloud Kafka 

  Per ulteriori informazioni, consulta [Importazione in streaming in una vista materializzata](materialized-view-streaming-ingestion.md).

## Esempi
<a name="r_TRUNCATE-examples"></a>

Utilizza il comando TRUNCATE per eliminare tutte le righe dalla tabella CATEGORY: 

```
truncate category;
```

Tenta di eseguire il rollback di un'operazione TRUNCATE: 

```
begin;

truncate date;

rollback;

select count(*) from date;
count
-------
0
(1 row)
```

La tabella DATE rimane vuota dopo il comando ROLLBACK perché il comando TRUNCATE è stato eseguito automaticamente. 

L'esempio seguente utilizza il comando TRUNCATE per eliminare tutte le righe da una vista materializzata. 

```
truncate my_materialized_view;
```

Elimina tutti i record nella vista materializzata e lascia intatti la vista materializzata e il relativo schema. Nella query, il nome della vista materializzata è un esempio.