START TRANSACTION

START TRANSACTION — inicia um bloco de transação

Sinopse

START TRANSACTION [ modo_da_transação [, ...] ]

onde modo_da_transação é um entre:

    ISOLATION LEVEL {
          SERIALIZABLE
        | REPEATABLE READ
        | READ COMMITTED
        | READ UNCOMMITTED
    }
    READ WRITE | READ ONLY
    [ NOT ] DEFERRABLE

Descrição

Este comando inicia um novo bloco de transação. Se for especificado o nível de isolamento, o modo de leitura/escrita, ou o modo postergável, a nova transação terá estas características, como se o comando SET TRANSACTION tivesse sido executado. É o mesmo que o comando BEGIN.

Parâmetros

Veja SET TRANSACTION para obter informações sobre o significado dos parâmetros desse comando.

Conformidade

No padrão, não é necessário executar START TRANSACTION para iniciar um bloco de transação: qualquer comando SQL inicia um bloco implicitamente. O comportamento do PostgreSQL pode ser visto como a execução implícita do COMMIT após cada comando que não segue START TRANSACTION (ou BEGIN), portanto, é frequentemente chamado de autocommit (autoefetivação). Outros sistemas de banco de dados relacionais podem oferecer o recurso de efetivação automática como uma conveniência.

O modo_da_transação DEFERRABLE (postergável) é uma extensão do PostgreSQL à linguagem.

O padrão SQL requer vírgulas entre os modo_da_transação, mas por razões históricas o PostgreSQL permite que as vírgulas sejam omitidas.

Veja também a seção de compatibilidade de SET TRANSACTION.

Veja também

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION