-
Notifications
You must be signed in to change notification settings - Fork 157
/
Copy pathdb2-rollback.xml
142 lines (129 loc) · 3.81 KB
/
db2-rollback.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f0cce809dfb3127489f04236cfd1a77aa9980ec4 Maintainer: jsgoupil Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.db2-rollback" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>db2_rollback</refname>
<refpurpose>
Annule une transaction
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>db2_rollback</methodname>
<methodparam><type>resource</type><parameter>connection</parameter></methodparam>
</methodsynopsis>
<para>
Annule une transaction en cours sur la connexion spécifiée et commence une
nouvelle transaction. Les applications PHP ont normalement
pour valeur par défaut AUTOCOMMIT d'activé, alors
<function>db2_commit</function> n'est pas nécessaire tant que AUTOCOMMIT
n'est pas désactivée pour la ressource de connexion.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
<para>
Une variable ressource de connexion valide retournée par
<function>db2_connect</function> ou <function>db2_pconnect</function>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Annulation d'une requête DELETE</title>
<para>
Dans l'exemple suivant, nous comptons le nombre de ligne dans la table,
désactivons le mode AUTOCOMMIT sur la connexion de la base de données,
supprimons toutes les lignes dans la table et retournons le nombre
&zero; pour prouver que les lignes ont bien été supprimées.
Ensuite nous utilisons la fonction <function>db2_rollback</function> et
retournons la nouvelle valeur du nombre de ligne dans la table pour
montrer que le nombre est le même que celui que nous avions avant d'effectuer la
requête DELETE. Le retour à l'état original de la table démontre que
l'annulation de la transaction a réussie.
</para>
<programlisting role="php">
<![CDATA[
<?php
$conn = db2_connect($database, $user, $password);
if ($conn) {
$stmt = db2_exec($conn, "SELECT count(*) FROM animaux");
$res = db2_fetch_array( $stmt );
echo $res[0] . "\n";
// Désactive AUTOCOMMIT
db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);
// Suppression de toutes les lignes de ANIMAUX
db2_exec($conn, "DELETE FROM animals");
$stmt = db2_exec($conn, "SELECT count(*) FROM animaux");
$res = db2_fetch_array( $stmt );
echo $res[0] . "\n";
// Annule la requête DELETE
db2_rollback( $conn );
$stmt = db2_exec( $conn, "SELECT count(*) FROM animaux" );
$res = db2_fetch_array( $stmt );
echo $res[0] . "\n";
db2_close($conn);
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
7
0
7
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>db2_autocommit</function></member>
<member><function>db2_commit</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->