⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 begin.sgml

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 SGML
字号:
<!--$PostgreSQL: pgsql/doc/src/sgml/ref/begin.sgml,v 1.33 2004/08/12 21:00:21 tgl Exp $PostgreSQL documentation--><refentry id="SQL-BEGIN"> <refmeta>  <refentrytitle id="SQL-BEGIN-TITLE">BEGIN</refentrytitle>  <refmiscinfo>SQL - Language Statements</refmiscinfo> </refmeta> <refnamediv>  <refname>BEGIN</refname>  <refpurpose>start a transaction block</refpurpose> </refnamediv> <indexterm zone="sql-begin">  <primary>BEGIN</primary> </indexterm> <refsynopsisdiv><synopsis>BEGIN [ WORK | 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>   <command>BEGIN</command> initiates a transaction block, that is,   all statements after a <command>BEGIN</command> command will be   executed in a single transaction until an explicit <xref   linkend="sql-commit" endterm="sql-commit-title"> or <xref   linkend="sql-rollback" endterm="sql-rollback-title"> is given.   By default (without <command>BEGIN</command>),   <productname>PostgreSQL</productname> executes   transactions in <quote>autocommit</quote> mode, that is, each   statement is executed in its own transaction and a commit is   implicitly performed at the end of the statement (if execution was   successful, otherwise a rollback is done).  </para>  <para>   Statements are executed more quickly in a transaction block, because   transaction start/commit requires significant CPU and disk   activity. Execution of multiple statements inside a transaction is   also useful to ensure consistency when making several related changes:   other sessions will be unable to see the intermediate states   wherein not all the related updates have been done.  </para>  <para>   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.  </para> </refsect1>   <refsect1>  <title>Parameters</title>  <variablelist>   <varlistentry>    <term><literal>WORK</literal></term>    <term><literal>TRANSACTION</literal></term>    <listitem>     <para>      Optional key words. They have no effect.     </para>    </listitem>   </varlistentry>  </variablelist>  <para>   Refer to <xref linkend="sql-set-transaction"   endterm="sql-set-transaction-title"> for information on the meaning   of the other parameters to this statement.  </para> </refsect1>   <refsect1>  <title>Notes</title>  <para>   <xref linkend="sql-start-transaction"   endterm="sql-start-transaction-title"> has the same functionality   as <command>BEGIN</>.  </para>     <para>   Use <xref linkend="SQL-COMMIT" endterm="SQL-COMMIT-TITLE"> or   <xref linkend="SQL-ROLLBACK" endterm="SQL-ROLLBACK-TITLE">   to terminate a transaction block.  </para>  <para>   Issuing <command>BEGIN</> when already inside a transaction block will   provoke a warning message.  The state of the transaction is not affected.   To nest transactions within a transaction block, use savepoints    (see <xref linkend="sql-savepoint" endterm="sql-savepoint-title">).  </para>  <para>   For reasons of backwards compatibility, the commas between successive   <replaceable class="parameter">transaction_modes</replaceable> may be   omitted.  </para> </refsect1> <refsect1>  <title>Examples</title>  <para>   To begin a transaction block:<programlisting>BEGIN;</programlisting>  </para> </refsect1>  <refsect1>  <title>Compatibility</title>  <para>   <command>BEGIN</command> is a <productname>PostgreSQL</productname>   language extension.  It is equivalent to the SQL-standard command   <xref linkend="sql-start-transaction"   endterm="sql-start-transaction-title">, which see for additional   compatibility information.  </para>  <para>   Incidentally, the <literal>BEGIN</literal> key word is used for a   different purpose in embedded SQL. You are advised to be careful   about the transaction semantics when porting database applications.  </para> </refsect1> <refsect1>  <title>See Also</title>  <simplelist type="inline">   <member><xref linkend="sql-commit" endterm="sql-commit-title"></member>   <member><xref linkend="sql-rollback" endterm="sql-rollback-title"></member>   <member><xref linkend="sql-start-transaction" endterm="sql-start-transaction-title"></member>   <member><xref linkend="sql-savepoint" endterm="sql-savepoint-title"></member>  </simplelist> </refsect1></refentry> <!-- Keep this comment at the end of the fileLocal variables:mode: sgmlsgml-omittag:nilsgml-shorttag:tsgml-minimize-attributes:nilsgml-always-quote-attributes:tsgml-indent-step:1sgml-indent-data:tsgml-parent-document:nilsgml-default-dtd-file:"../reference.ced"sgml-exposed-tags:nilsgml-local-catalogs:"/usr/lib/sgml/catalog"sgml-local-ecat-files:nilEnd:-->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -