

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

# BEGIN
<a name="r_BEGIN"></a>

Inizia una transazione. Sinonimo di START TRANSACTION.

Una transazione è una singola unità logica di lavoro composta da uno o più comandi. In generale, tutti i comandi in una transazione vengono eseguiti in uno snapshot del database la cui ora di inizio è determinata dal valore impostato per il parametro di configurazione del sistema `transaction_snapshot_begin`.

Per impostazione predefinita, le singole operazioni Amazon Redshift (query, istruzioni DDL, caricamenti) vengono sottoposte automaticamente al commit nel database. Se vuoi sospendere il commit per un'operazione fino al completamento del lavoro successivo, è necessario aprire una transazione con l'istruzione BEGIN, quindi eseguire i comandi richiesti e chiudere la transazione con un'istruzione [COMMIT](r_COMMIT.md) o [END](r_END.md). Se necessario, è possibile utilizzare un'istruzione [ROLLBACK](r_ROLLBACK.md) per interrompere una transazione in corso. Un'eccezione a questo comportamento è costituita dal comando [TRUNCATE](r_TRUNCATE.md) che esegue il commit della transazione in cui viene eseguito e non può essere sottoposto al rollback.

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

```
BEGIN [ WORK | TRANSACTION ] [ ISOLATION LEVEL option ] [ READ WRITE | READ ONLY ]

START TRANSACTION [ ISOLATION LEVEL option ] [ READ WRITE | READ ONLY ]

Where option is

SERIALIZABLE
| READ UNCOMMITTED
| READ COMMITTED
| REPEATABLE READ

Note: READ UNCOMMITTED, READ COMMITTED, and REPEATABLE READ have no
operational impact and map to SERIALIZABLE in Amazon Redshift. You can see database isolation levels on your cluster 
by querying the stv_db_isolation_level table.
```

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

WORK   
Parola chiave facoltativa.

TRANSACTION   
Parola chiave facoltativa; WORK e TRANSACTION sono sinonimi.

ISOLATION LEVEL SERIALIZABLE   
L'isolamento serializzabile è supportato per impostazione predefinita, quindi il comportamento della transazione è lo stesso indipendentemente dal fatto che questa sintassi sia inclusa nell'istruzione. Per ulteriori informazioni, consulta [Gestione delle operazioni di scrittura simultanee](c_Concurrent_writes.md). Non sono supportate altri livelli di isolamento.  
Lo standard SQL definisce quattro livelli di isolamento della transazione per impedire *letture modificate* (in cui una transazione legge i dati scritti da una transazione concorrente non impegnata), *letture non ripetibili* (in cui una transazione rilegge i dati letti in precedenza e trova che i dati sono stati modificati da un'altra transazione che ha eseguito il commit dalla lettura iniziale) e *letture fantasma* (in cui una transazione esegue nuovamente una query, restituisce un set di righe che soddisfa una condizione di ricerca e poi trova che il set di righe è cambiato a causa di un'altra transazione recentemente sottoposta al commit):  
+ Lettura non sottoposta al commit: sono possibili letture modificate, letture non ripetibili e letture fantasma.
+ Lettura sottoposta al commit: sono possibili letture non ripetibili e letture fantasma.
+ Lettura ripetibile: sono possibili letture fantasma.
+ Serializzabile: impedisce letture modificate, letture non ripetibili e letture fantasma.
Sebbene sia possibile utilizzare uno qualsiasi dei quattro livelli di isolamento della transazione, Amazon Redshift elabora tutti i livelli di isolamento come serializzabili.

READ WRITE   
Fornisce le autorizzazioni di lettura e scrittura alla transazione.

READ ONLY   
Fornisce solo le autorizzazioni di lettura alla transazione.

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

L'esempio seguente avvia un blocco di transazione serializzabile: 

```
begin;
```

L'esempio seguente avvia il blocco di transazione con un livello di isolamento serializzabile e le autorizzazioni di lettura e scrittura: 

```
begin read write;
```