root/traduc/branches/bv747/manuel/ref/begin.sgml

Revision 13, 4.4 kB (checked in by gleu, 3 years ago)

Suite de l'import pour le passage CVS à SVN.

Line 
1 <!--
2 $Header: /var/lib/cvs/pgsql-fr/sgml/ref/begin.sgml,v 1.9.2.1 2005/03/14 06:03:01 guillaume Exp $
3 PostgreSQL documentation
4 -->
5
6 <refentry id="SQL-BEGIN">
7  <refmeta>
8   <refentrytitle id="SQL-BEGIN-TITLE">BEGIN</refentrytitle>
9   <refmiscinfo>SQL - Instructions du langage</refmiscinfo>
10  </refmeta>
11
12  <refnamediv>
13   <refname>BEGIN</refname>
14   <refpurpose>débute un bloc de transaction</refpurpose>
15  </refnamediv>
16
17  <indexterm zone="sql-begin">
18   <primary>BEGIN</primary>
19  </indexterm>
20
21  <refsynopsisdiv>
22 <synopsis>
23 BEGIN [ WORK | TRANSACTION ]
24 </synopsis>
25  </refsynopsisdiv>
26  
27  <refsect1>
28   <title>Description</title>
29
30   <para>
31    <command>BEGIN</command> initie un bloc de transaction, c'est-à-dire que
32    toutes les instructions après la commande <command>BEGIN</command> seront
33    exécutées dans une seule transaction jusqu'à ce qu'un <xref
34    linkend="sql-commit" endterm="sql-commit-title"> ou <xref
35    linkend="sql-rollback" endterm="sql-rollback-title"> explicite soit exécuté.
36    Par défaut (sans <command>BEGIN</command>),
37    <productname>PostgreSQL</productname> exécute des
38    transactions en mode <quote>autocommit</quote>, c'est-à-dire que chaque
39    instruction est exécutée dans sa propre transaction et une validation
40    (commit) est traitée implicitement à la fin de l'instruction (si l'exécution
41    a réussi, sinon une annulation est exécutée).
42   </para>
43
44   <para>
45    Les instructions sont exécutées plus rapidement dans un bloc de transaction
46    parce que la séquence début/validation de transaction demande une activité
47    significative du CPU et du disque. L'exécution de plusieurs instructions dans
48    une transaction est aussi utile pour s'assurer d'une cohérence lors de la
49    réalisation de certains modifications liées&nbsp;: les autres sessions ne
50    seront pas capables de voir les états intermédiaires tant que toutes les
51    mises à jour n'auront pas été réalisées.
52   </para>
53  </refsect1>
54  
55  <refsect1>
56   <title>Paramètres</title>
57
58   <variablelist>
59    <varlistentry>
60     <term><literal>WORK</literal></term>
61     <term><literal>TRANSACTION</literal></term>
62     <listitem>
63      <para>
64       Mots clés optionnels. Ils n'ont pas d'effet.
65      </para>
66     </listitem>
67    </varlistentry>
68   </variablelist>
69  </refsect1>
70  
71  <refsect1>
72   <title>Notes</title>
73
74   <para>
75    <xref linkend="sql-start-transaction"
76    endterm="sql-start-transaction-title"> a la même fonctionnalité que
77    <command>BEGIN</>.
78   </para>
79    
80   <para>
81    Utilisez <xref linkend="SQL-COMMIT" endterm="SQL-COMMIT-TITLE"> ou
82    <xref linkend="SQL-ROLLBACK" endterm="SQL-ROLLBACK-TITLE"> pour terminer un
83    bloc de transaction.
84   </para>
85
86   <para>
87    Lancer <command>BEGIN</> en étant déjà dans un bloc de transaction
88    provoquera l'apparition d'un message d'avertissement. L'état de la
89    transaction n'en sera pas affecté.
90   </para>
91  </refsect1>
92
93  <refsect1>
94   <title>Exemples</title>
95
96   <para>
97    Pour commencer un bloc de transaction&nbsp;:
98
99 <programlisting>
100 BEGIN;
101 </programlisting>
102   </para>
103  </refsect1>
104  
105  <refsect1>
106   <title>Compatibilité</title>
107
108   <para>
109    <command>BEGIN</command> est une extension du langage
110    <productname>PostgreSQL</productname>. Il n'existe pas de commande
111    <command>BEGIN</command> explicite dans le standard SQL&nbsp;; le début de la
112    transaction est toujours implicite et se termine soit avec une instruction
113    <command>COMMIT</command> soit avec une instruction
114    <command>ROLLBACK</command>.
115   </para>
116
117   <para>
118    Les autres systèmes de bases de données relationnels peuvent
119    offrir une fonctionnalité autocommit en supplément.
120   </para>
121
122   <para>
123    Incidemment, le mot clé <literal>BEGIN</literal> est utilisé dans un but
124    différent en SQL embarqué. Faites attention à la sémantique de la transaction
125    lors du portage d'applications de bases de données.
126   </para>
127  </refsect1>
128
129  <refsect1>
130   <title>Voir aussi</title>
131
132   <simplelist type="inline">
133    <member><xref linkend="sql-commit" endterm="sql-commit-title"></member>
134    <member><xref linkend="sql-rollback" endterm="sql-rollback-title"></member>
135   </simplelist>
136  </refsect1>
137 </refentry>
138  
139 <!-- Keep this comment at the end of the file
140 Local variables:
141 mode: sgml
142 sgml-omittag:nil
143 sgml-shorttag:t
144 sgml-minimize-attributes:nil
145 sgml-always-quote-attributes:t
146 sgml-indent-step:1
147 sgml-indent-data:t
148 sgml-parent-document:nil
149 sgml-default-dtd-file:"../reference.ced"
150 sgml-exposed-tags:nil
151 sgml-local-catalogs:"/usr/lib/sgml/catalog"
152 sgml-local-ecat-files:nil
153 End:
154 -->
Note: See TracBrowser for help on using the browser.