| <!-- |
| $PostgreSQL: pgsql/doc/src/sgml/ref/start_transaction.sgml,v 1.17 2008/11/14 10:22:47 petere Exp $ |
| PostgreSQL documentation |
| --> |
| |
| <refentry id="SQL-START-TRANSACTION"> |
| <refmeta> |
| <refentrytitle id="SQL-START-TRANSACTION-TITLE">START TRANSACTION</refentrytitle> |
| <manvolnum>7</manvolnum> |
| <refmiscinfo>SQL - Language Statements</refmiscinfo> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>START TRANSACTION</refname> |
| <refpurpose>start a transaction block</refpurpose> |
| </refnamediv> |
| |
| <indexterm zone="sql-start-transaction"> |
| <primary>START TRANSACTION</primary> |
| </indexterm> |
| |
| <refsynopsisdiv> |
| <synopsis> |
| START TRANSACTION [ <replaceable class="parameter">transaction_mode</replaceable> [, ...] ] |
| |
| where <replaceable class="parameter">transaction_mode</replaceable> is one of: |
| |
| ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED } |
| READ WRITE | READ ONLY |
| </synopsis> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para> |
| This command begins a new transaction block. If the isolation level or |
| read/write mode is specified, the new transaction has those |
| characteristics, as if <xref linkend="sql-set-transaction" |
| endterm="sql-set-transaction-title"> was executed. This is the same |
| as the <xref linkend="sql-begin" endterm="sql-begin-title"> command. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Parameters</title> |
| |
| <para> |
| Refer to <xref linkend="sql-set-transaction" |
| endterm="sql-set-transaction-title"> for information on the meaning |
| of the parameters to this statement. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Compatibility</title> |
| |
| <para> |
| In the standard, it is not necessary to issue <command>START TRANSACTION</> |
| to start a transaction block: any SQL command implicitly begins a block. |
| <productname>PostgreSQL</productname>'s behavior can be seen as implicitly |
| issuing a <command>COMMIT</command> after each command that does not |
| follow <command>START TRANSACTION</> (or <command>BEGIN</command>), |
| and it is therefore often called <quote>autocommit</>. |
| Other relational database systems might offer an autocommit feature |
| as a convenience. |
| </para> |
| |
| <para> |
| The SQL standard requires commas between successive <replaceable |
| class="parameter">transaction_modes</replaceable>, but for historical |
| reasons <productname>PostgreSQL</productname> allows the commas to be |
| omitted. |
| </para> |
| |
| <para> |
| See also the compatibility section of <xref linkend="sql-set-transaction" |
| endterm="sql-set-transaction-title">. |
| </para> |
| </refsect1> |
| |
| <refsect1> |
| <title>See Also</title> |
| |
| <simplelist type="inline"> |
| <member><xref linkend="sql-begin" endterm="sql-begin-title"></member> |
| <member><xref linkend="sql-commit" endterm="sql-commit-title"></member> |
| <member><xref linkend="sql-rollback" endterm="sql-rollback-title"></member> |
| <member><xref linkend="sql-savepoint" endterm="sql-savepoint-title"></member> |
| <member><xref linkend="sql-set-transaction" endterm="sql-set-transaction-title"></member> |
| </simplelist> |
| </refsect1> |
| </refentry> |