START TRANSACTION

START TRANSACTION — inicia un bloque de transacción

Synopsis

START TRANSACTION [ transaction_mode [, ...] ]

donde transaction_mode es uno de:

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

Descripción

Este comando inicia un nuevo bloque de transacción. Si se especifica el nivel de aislamiento, el modo de lectura/escritura o el modo postergable («deferrable»), la nueva transacción tiene esas características, como si se hubiera ejecutado SET TRANSACTION. Esto es lo mismo que el comando BEGIN.

Parámetros

Consulta la SET TRANSACTION para obtener información sobre el significado de los parámetros de esta sentencia.

Compatibilidad

En el estándar, no es necesario emitir START TRANSACTION para iniciar un bloque de transacción: cualquier comando SQL comienza implícitamente un bloque. El comportamiento de PostgreSQL se puede ver como la emisión implícita de un COMMIT después de cada comando que no sigue a START TRANSACTION (o BEGIN), y por lo tanto a menudo se llama «autocommit» (confirmación automática). Otros sistemas de bases de datos relacionales pueden ofrecer una función de autocommit como una conveniencia.

El modo de transacción DEFERRABLE (transaction_mode) es una extensión del lenguaje de PostgreSQL.

El estándar SQL requiere comas entre los modos de transacción (transaction_modes) sucesivos, pero por razones históricas PostgreSQL permite omitir las comas.

Consulta también la sección de compatibilidad de la SET TRANSACTION.

Véase también

BEGIN, COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION