<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/start_transaction.sgml,v 1.5 2003/04/26 23:56:51 petere Exp $
PostgreSQL documentation
-->

<refentry id="SQL-START-TRANSACTION">
 <refmeta>
  <refentrytitle id="SQL-START-TRANSACTION-TITLE">START TRANSACTION</refentrytitle>
  <refmiscinfo>SQL - Language Statements</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>START TRANSACTION</refname>
  <refpurpose>start a transaction block</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
<synopsis>
START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ WRITE | READ ONLY ]
</synopsis>
 </refsynopsisdiv>

 <refsect1>
  <title>Description</title>

  <para>
   This command begins a new transaction. 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. In all other
   respects, the behavior of this command is identical to the <xref
   linkend="sql-begin" endterm="sql-begin-title"> command.
  </para>
 </refsect1>

 <refsect1>
  <title>Parameters</title>

  <para>
   See under <xref linkend="sql-set-transaction"
   endterm="sql-set-transaction-title"> about the meaning of the
   parameters.
  </para>
 </refsect1>

 <refsect1>
  <title>Diagnostics</title>

  <variablelist>
   <varlistentry>
    <term><computeroutput>START TRANSACTION</computeroutput></term>
    <listitem>
     <para>
      Message returned if successful.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry>
    <term><computeroutput>WARNING:  BEGIN: already a transaction in progress</computeroutput></term>
    <listitem>
     <para>
      Message returned if there was already a transaction in progress
      when the command was issued.
     </para>
    </listitem>
   </varlistentry>
  </variablelist>
 </refsect1>

 <refsect1>
  <title>Compatibility</title>

  <para>
   This command conforms to the SQL standard; but see also the
   compatibility section of <xref linkend="sql-set-transaction"
   endterm="sql-set-transaction-title">.
  </para>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
-->
