

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

Inicia uma transação. Sinônimo de START TRANSACTION.

Quer consista em um ou mais comandos, uma transação é uma unidade de trabalho única e lógica. Geralmente, todos os comandos de uma transação são executados em um snapshot do banco de dados, cuja a hora de início é determinada pelo valor definido para o parâmetro de configuração do sistema `transaction_snapshot_begin`.

Por padrão, as operações individuais do Amazon Redshift (consultas, instruções de DDL, cargas) são confirmadas automaticamente no banco de dados. Se quiser suspender a confirmação de uma operação até que o trabalho subsequente seja concluído, você precisará abrir uma transação com a instrução BEGIN, executar os comandos e depois fechar a transação com a instrução [COMMIT](r_COMMIT.md) ou [END](r_END.md). Se necessário, use uma instrução [ROLLBACK](r_ROLLBACK.md) para abortar uma transação em andamento. Uma exceção a esse comportamento é o comando [TRUNCATE](r_TRUNCATE.md) que confirma a transação na qual é executado e não pode ser revertido.

## Sintaxe
<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.
```

## Parâmetros
<a name="r_BEGIN-parameters"></a>

WORK   
Palavra-chave opcional.

TRANSACTION   
Palavra-chave opcional; WORK e TRANSACTION são sinônimos.

ISOLATION LEVEL SERIALIZABLE   
O isolamento serializável é compatível por padrão. Portanto, o comportamento da transação é o mesmo, esteja ou não essa sintaxe incluída na instrução. Para obter mais informações, consulte [Gerenciamento de operações de gravação simultâneas](c_Concurrent_writes.md). Nenhum outro nível de isolamento é compatível.  
O padrão SQL define quatro níveis de isolamento de transação para impedir *dirty reads* (leitura contaminada em que uma transação lê dados gravados por outra transação simultânea não confirmada), *nonrepeatable reads* (leitura não repetível em que uma transação relê dados lidos anteriormente e descobre que os dados foram alterados por outra transação confirmada após a leitura inicial) e *phantom reads* (leitura fantasma em que uma transação executa uma consulta novamente, retorna um conjunto de linhas que satisfaz uma condição de pesquisa e descobre que o conjunto de linhas mudou por causa de outra transação confirmada recentemente):  
+ Leitura não confirmada: É possível que ocorram leituras contaminadas, não repetíveis e fantasmas.
+ Leitura confirmada: É possível que ocorram leituras não repetíveis e fantasmas.
+ Leitura repetível: É possível que ocorram leituras fantasma.
+ Serializável: Impede que ocorram leituras contaminadas, não repetíveis e fantasma.
Embora seja possível usar qualquer dos quatro níveis de isolamento de transação, o Amazon Redshift processa todos os níveis de isolamento como serializáveis.

READ WRITE   
Oferece permissões de leitura e gravação à transação.

READ ONLY   
Oferece permissões somente de leitura à transação.

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

Os exemplos a seguir iniciam um bloco de transação serializável: 

```
begin;
```

Os exemplos a seguir iniciam o bloco de transação com um nível de isolamento serializável e permissões de leitura e gravação: 

```
begin read write;
```