Skip to content

Commit

Permalink
Traduction de CREATE TRIGGER.
Browse files Browse the repository at this point in the history
  • Loading branch information
doubleff authored and gleu committed May 31, 2011
1 parent 59750ac commit 2aaaada
Showing 1 changed file with 68 additions and 66 deletions.
134 changes: 68 additions & 66 deletions postgresql/ref/create_trigger.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,18 @@
</refnamediv>

<refsynopsisdiv>
<synopsis>CREATE [ CONSTRAINT ] TRIGGER <replaceable class="PARAMETER">nom</replaceable> { BEFORE | AFTER | INSTEAD OF } { <replaceable class="PARAMETER">evenement</replaceable> [ OR ... ] }
<synopsis>CREATE [ CONSTRAINT ] TRIGGER <replaceable class="PARAMETER">nom</replaceable> { BEFORE | AFTER | INSTEAD OF } { <replaceable class="PARAMETER">événement</replaceable> [ OR ... ] }
ON <replaceable class="PARAMETER">table</replaceable>
[ FROM <replaceable class="parameter">referenced_table_name</replaceable> ]
[ FROM <replaceable class="parameter">nom_table_referencee</replaceable> ]
{ NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }
[ FOR [ EACH ] { ROW | STATEMENT } ]
[ WHEN ( <replaceable class="parameter">condition</replaceable> ) ]
EXECUTE PROCEDURE <replaceable class="parameter">nom_fonction</replaceable> ( <replaceable class="parameter">arguments</replaceable> )

<phrase>where <replaceable class="parameter">event</replaceable> can be one of:</phrase>
<phrase> <replaceable class="parameter">événement</replaceable> fait partie de&nbsp;:</phrase>

INSERT
UPDATE [ OF <replaceable class="parameter">column_name</replaceable> [, ... ] ]
UPDATE [ OF <replaceable class="parameter">nom_colonne</replaceable> [, ... ] ]
DELETE
TRUNCATE
</synopsis>
Expand All @@ -55,13 +55,13 @@
<command>DELETE</command>) ou une fois que l'opération est
terminée (après la vérification des contraintes et la fin de la commande
<command>INSERT</command>, <command>UPDATE</command> ou
<command>DELETE</command>); or instead of the operation
(in the case of inserts, updates or deletes on a view). Si le déclencheur est lancé avant
l'événement or instead of the event, le déclencheur peut ignorer l'opération sur la ligne
<command>DELETE</command>)&nbsp;; ou bien en remplacement de l'opération
(dans le cas d'opérations INSERT, UPDATE ou DELETE sur une vue). Si le déclencheur est lancé avant
l'événement ou en remplacement de l'événement, le déclencheur peut ignorer l'opération sur la ligne
courante ou modifier la ligne en cours d'insertion (uniquement pour les
opérations <command>INSERT</command> et <command>UPDATE</command>). Si le
déclencheur est activé après l'événement, toute modification, dont les
autres triggers, est <quote>visible</quote>
déclencheur est activé après l'événement, toute modification, dont celles effectuées par les
autres déclencheurs, est <quote>visible</quote>
par le déclencheur.
</para>

Expand All @@ -78,34 +78,38 @@
</para>

<para>
In addition, triggers may be defined to fire for a
Triggers that are specified to fire <literal>INSTEAD OF</literal> the trigger
event must be marked <literal>FOR EACH ROW</literal>, and can only be defined
on views. <literal>BEFORE</literal> and <literal>AFTER</literal> triggers on a view
must be marked as <literal>FOR EACH STATEMENT</literal>.
Les déclencheurs définis en remplacement (<literal>INSTEAD OF</literal>) doivent obligatoirement être marqués
<literal>FOR EACH ROW</literal>, et ne peuvent être définis que sur des vues.
Les déclencheurs <literal>BEFORE</literal> et <literal>AFTER</literal> portant sur des vues
devront quant à eux être marqués <literal>FOR EACH STATEMENT</literal>.
</para>

<para>
The following table summarizes which types of triggers may be used on
tables and views:
Les déclencheurs peuvent également être définis pour l'événement <command>TRUNCATE</command>,
mais ne pourront, dans ce cas, qu'être marqués <literal>FOR EACH STATEMENT</literal>.
</para>

<para>
Le tableau suivant récapitule quels types de déclencheurs peuvent être
utilisés sur les tables et les vues&nbsp;:
</para>

<informaltable id="supported-trigger-types">
<tgroup cols="4">
<thead>
<row>
<entry>When</entry>
<entry>Event</entry>
<entry>Row-level</entry>
<entry>Statement-level</entry>
<entry>Déclenchement</entry>
<entry>Événement</entry>
<entry>Niveau ligne</entry>
<entry>Niveau instruction</entry>
</row>
</thead>
<tbody>
<row>
<entry align="center" morerows="1"><literal>BEFORE</literal></entry>
<entry align="center"><command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command></entry>
<entry align="center">Tables</entry>
<entry align="center">Tables and views</entry>
<entry align="center">Tables et vues</entry>
</row>
<row>
<entry align="center"><command>TRUNCATE</command></entry>
Expand All @@ -116,7 +120,7 @@
<entry align="center" morerows="1"><literal>AFTER</literal></entry>
<entry align="center"><command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command></entry>
<entry align="center">Tables</entry>
<entry align="center">Tables and views</entry>
<entry align="center">Tables et vues</entry>
</row>
<row>
<entry align="center"><command>TRUNCATE</command></entry>
Expand All @@ -126,7 +130,7 @@
<row>
<entry align="center" morerows="1"><literal>INSTEAD OF</literal></entry>
<entry align="center"><command>INSERT</command>/<command>UPDATE</command>/<command>DELETE</command></entry>
<entry align="center">Views</entry>
<entry align="center">Vues</entry>
<entry align="center">&mdash;</entry>
</row>
<row>
Expand All @@ -145,8 +149,8 @@
</para>

<para>
De plus, la définition d'un trigger peut spécifier une condition
<literal>WHEN</literal> qui sera testée pour voir si le trigger doit
En outre, la définition d'un trigger peut spécifier une condition
<literal>WHEN</literal> qui sera testée pour vérifier si le trigger doit
réellement être déclenché. Dans les triggers au niveau ligne, la condition
<literal>WHEN</literal> peut examiner l'ancienne et/ou la nouvelle valeurs
des colonnes de la ligne. Les triggers au niveau instruction peuvent aussi
Expand All @@ -161,17 +165,17 @@
</para>

<para>
When the <literal>CONSTRAINT</literal> option is specified, this command creates a
<firstterm>constraint trigger</firstterm>. This is the same as a regular trigger
except that the timing of the trigger firing can be adjusted using
<xref linkend="SQL-SET-CONSTRAINTS"/>.
Constraint triggers must be <literal>AFTER ROW</literal> triggers. They can
be fired either at the end of the statement causing the triggering event,
or at the end of the containing transaction; in the latter case they are
said to be <firstterm>deferred</firstterm>. A pending deferred-trigger firing can
also be forced to happen immediately by using <command>SET CONSTRAINTS</command>.
Constraint triggers are expected to raise an exception when the constraints
they implement are violated.
Lorsque l'option <literal>CONSTRAINT</literal> est spécifiée, cette commande crée un
<firstterm>déclencheur contrainte</firstterm>. Ce nouvel objet est identique aux déclencheurs
normaux excepté le fait que le moment de déclenchement peut alors être ajusté via l'utilisation
de <xref linkend="SQL-SET-CONSTRAINTS"/>.
Les déclencheurs contraintes ne peuvent être que de type <literal>AFTER ROW</literal>. Ils peuvent
être déclenchés soit à la fin de l'instruction causant l'événement, soit à la fin de la transaction
ayant contenu l'instruction de déclenchement&nbsp;; dans ce dernier cas, ils sont alors définis comme
<firstterm>différés</firstterm>. L'exécution d'un déclencheur différé peut également être forcée
en utilisant l'option <command>SET CONSTRAINTS</command>.
Le comportement attendu des déclencheurs contraintes est de générer une exception en cas de violation
de la contrainte qu'ils implémentent.
</para>

<para>
Expand All @@ -196,9 +200,9 @@
<para>
Le nom du nouveau déclencheur. Il doit être distinct du nom de
tout autre déclencheur sur la table.
The name cannot be schema-qualified &mdash; the trigger inherits the
schema of its table. For a constraint trigger, this is also the name to
use when modifying the trigger's behavior using
Le nom ne peut pas être qualifié d'un nom de schéma, le déclencheur héritant
du schéma de sa table. Pour un déclencheur contrainte, c'est également le nom à
utiliser lorsqu'il s'agira de modifier son comportement via la commande
<command>SET CONSTRAINTS</command>.
</para>
</listitem>
Expand All @@ -210,9 +214,8 @@
<term><literal>INSTEAD OF</literal></term>
<listitem>
<para>
Détermine si la fonction est appelée avant, après , or instead of
the event. A constraint trigger can only be specified as
<literal>AFTER</literal>.
Détermine si la fonction est appelée avant, après ou en remplacement de l'événement.
Un déclencheur contrainte ne peut être spécifié qu'<literal>AFTER</literal>.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -240,7 +243,7 @@ UPDATE OF <replaceable>nom_colonne_1</replaceable> [, <replaceable>nom_colonne_2
</para>

<para>
<literal>INSTEAD OF UPDATE</literal> events do not support lists of columns.
Les événements <literal>INSTEAD OF UPDATE</literal> ne supportent pas de listes de colonnes.
</para>
</listitem>
</varlistentry>
Expand All @@ -256,13 +259,13 @@ UPDATE OF <replaceable>nom_colonne_1</replaceable> [, <replaceable>nom_colonne_2
</varlistentry>

<varlistentry>
<term><replaceable class="PARAMETER">referenced_table_name</replaceable></term>
<term><replaceable class="PARAMETER">nom_table_referencee</replaceable></term>
<listitem>
<para>
The (possibly schema-qualified) name of another table referenced by the
constraint. This option is used for foreign-key constraints and is not
recommended for general use. This can only be specified for
constraint triggers.
Le nom d'une autre table (possiblement qualifiée par un nom de schéma)
référencée par la contrainte. Cette option est à utiliser pour les contraintes
de clés étrangères et n'est pas recommandée pour d'autres types d'utilisation.
Elle ne peut être spécifiée que pour les déclencheurs contraintes.
</para>
</listitem>
</varlistentry>
Expand All @@ -274,10 +277,9 @@ UPDATE OF <replaceable>nom_colonne_1</replaceable> [, <replaceable>nom_colonne_2
<term><literal>INITIALLY DEFERRED</literal></term>
<listitem>
<para>
The default timing of the trigger.
See the <xref linkend="SQL-CREATETABLE"/> documentation for details of
these constraint options. This can only be specified for constraint
triggers.
La spécification du moment de déclenchement par défaut.
Voir la partie <xref linkend="SQL-CREATETABLE"/> pour plus de détails sur cette option.
Elle ne peut être spécifiée que pour les déclencheurs contraintes.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -319,8 +321,8 @@ UPDATE OF <replaceable>nom_colonne_1</replaceable> [, <replaceable>nom_colonne_2
</para>

<para>
<literal>INSTEAD OF</literal> triggers do not support <literal>WHEN</literal>
conditions.
Les déclencheurs <literal>INSTEAD OF</literal> ne supportent pas de condition
<literal>WHEN</literal>.
</para>

<para>
Expand All @@ -329,10 +331,11 @@ UPDATE OF <replaceable>nom_colonne_1</replaceable> [, <replaceable>nom_colonne_2
</para>

<para>
Note that for constraint triggers, evaluation of the <literal>WHEN</literal>
condition is not deferred, but occurs immediately after the row update
operation is performed. If the condition does not evaluate to true then
the trigger is not queued for deferred execution.
À noter que pour les déclencheurs contraintes, l'évaluation de la clause
<literal>WHEN</literal> n'est pas différée mais intervient immédiatement
après que l'opération de mise à jour de la ligne soit effectuée. Si la
condition n'est pas évaluée à vrai, alors le déclencheur n'est pas placé
dans la file d'attente des exécutions différées.
</para>
</listitem>
</varlistentry>
Expand Down Expand Up @@ -388,7 +391,7 @@ UPDATE OF <replaceable>nom_colonne_1</replaceable> [, <replaceable>nom_colonne_2
<literal>BEFORE UPDATE</literal> ne sont pas pris en compte. De même, une
commande comme <literal>UPDATE ... SET x = x ...</literal> déclenchera le
trigger sur la colonne <literal>x</literal>, bien que la valeur de cette
colonne ne changera pas.
colonne ne change pas.
</para>

<para>
Expand Down Expand Up @@ -475,8 +478,8 @@ CREATE TRIGGER log_update
EXECUTE PROCEDURE log_account_update();
</programlisting>

Execute the function <function>view_insert_row</function> for each row to insert
rows into the tables underlying a view:
Éxecute la fonction <function>view_insert_row</function> pour chacune des lignes
à insérer dans la table sous-jacente à la vue my_view&nbsp;:

<programlisting>
CREATE TRIGGER view_insert
Expand Down Expand Up @@ -554,14 +557,13 @@ CREATE TRIGGER view_insert
<para>
La possibilité d'exécuter un trigger suite à une commande
<command>TRUNCATE</command> est une extension
<productname>PostgreSQL</productname> du standard SQL, as is the
ability to define statement-level triggers on views.
<productname>PostgreSQL</productname> du standard SQL, tout comme la
possibilité de définir des déclencheurs de niveau instruction sur des vues.
</para>

<para>
<command>CREATE CONSTRAINT TRIGGER</command> is a
<productname>PostgreSQL</productname> extension of the <acronym>SQL</acronym>
standard.
<command>CREATE CONSTRAINT TRIGGER</command> est une extension spécifique à
<productname>PostgreSQL</productname> du standard <acronym>SQL</acronym>.
</para>
</refsect1>

Expand Down

0 comments on commit 2aaaada

Please sign in to comment.