[Trad] [svn:pgfr] r1276 - traduc/trunk/postgresql
admin at listes.postgresql.fr
admin at listes.postgresql.fr
Lun 23 Mar 15:52:35 CET 2009
Author: gleu
Date: 2009-03-23 15:52:34 +0100 (Mon, 23 Mar 2009)
New Revision: 1276
Modified:
traduc/trunk/postgresql/trigger.xml
Log:
Relecture de Florence Cousin.
Modified: traduc/trunk/postgresql/trigger.xml
===================================================================
--- traduc/trunk/postgresql/trigger.xml 2009-03-19 19:42:07 UTC (rev 1275)
+++ traduc/trunk/postgresql/trigger.xml 2009-03-23 14:52:34 UTC (rev 1276)
@@ -20,28 +20,27 @@
<application>PL/Perl</application> (<xref linkend="plperl"/>) et
<application>PL/Python</application> (<xref linkend="plpython"/>). Après avoir
lu ce chapitre, vous devriez consulter le chapitre sur votre langage de
- procédure favori pour trouver les détails spécifiques à votre langage pour
- l'écriture d'un déclencheur.
+ procédure favori pour découvrir les spécificités de l'écriture de déclencheurs dans ce langage.
</para>
<para>
- Il est aussi possible d'écrire une fonction déclencheur en C bien que la plupart
- des gens trouvent plus facile d'utiliser un des langages de procédure. Il n'est
- pas possible actuellement d'écrire une fonction déclencheur dans le langage de
- fonction SQL.
+ Il est aussi possible d'écrire une fonction déclencheur en C, bien que la plupart
+ des gens trouvent plus facile d'utiliser un des langages de procédure. Il est
+ actuellement impossible d'écrire une fonction déclencheur dans le langage de
+ fonction simple SQL.
</para>
<sect1 id="trigger-definition">
<title>Aperçu du comportement des déclencheurs</title>
<para>
- Un déclencheur est une spécification précisant que la base de données doit
- exécuter une fonction particulière quand un certain type d'opération est
- traité. Les fonctions déclencheur peuvent être définies pour s'exécuter
+ Un déclencheur spécifie que la base de données doit
+ exécuter automatiquement une fonction donnée chaque fois qu'un certain type d'opération est
+ exécuté. Les fonctions déclencheur peuvent être définies pour s'exécuter
avant ou après une commande <command>INSERT</command>,
<command>UPDATE</command> ou <command>DELETE</command>, soit une fois par
- ligne modifiée soit une fois par expression <acronym>SQL</acronym>. Si un
- élément déclencheur se produit, le gestionnaire de déclencheurs est appelé
+ ligne modifiée, soit une fois par expression <acronym>SQL</acronym>. Si un
+ événement déclencheur se produit, le gestionnaire de déclencheurs est appelé
au bon moment pour gérer l'événement.
</para>
@@ -50,7 +49,7 @@
puisse être créé. La fonction déclencheur doit être déclarée comme une
fonction ne prenant aucun argument et retournant un type <literal>trigger</literal>
(la fonction déclencheur reçoit ses entrées via une structure
- <structname>TriggerData</structname> passée spécifiquement, et pas sous la forme
+ <structname>TriggerData</structname> passée spécifiquement, et non pas sous la forme
d'arguments ordinaires de fonctions).
</para>
@@ -100,7 +99,7 @@
<listitem>
<para>
Il peut retourner un pointeur <symbol>NULL</symbol> pour sauter l'opération
- pour la ligne courante. Ceci instruit l'exécuteur de ne pas exécuter
+ pour la ligne courante. Ceci donne comme instruction à l'exécuteur de ne pas exécuter
l'opération niveau ligne qui a lancé le déclencheur (l'insertion ou la
modification d'une ligne particulière de la table).
</para>
@@ -108,8 +107,8 @@
<listitem>
<para>
- Pour les seuls déclencheurs <command>INSERT</command> et
- <command>UPDATE</command> au niveau ligne, la valeur de retour devient la
+ Pour les déclencheurs <command>INSERT</command> et
+ <command>UPDATE</command> de niveau ligne uniquement, la valeur de retour devient la
ligne qui sera insérée ou remplacera la ligne en cours de mise à jour.
Ceci permet à la fonction déclencheur de modifier la ligne en cours
d'insertion ou de mise à jour.
@@ -118,33 +117,33 @@
</itemizedlist>
- Un déclencheur avant niveau ligne, qui n'est pas conçu pour avoir l'un de
- ces comportements, doit prendre garde à retourner la même ligne que celle
- qui lui a été passée comme nouvelle ligne (c'est-à-dire, la nouvelle
- (<varname>NEW</varname>) ligne pour des déclencheurs
- <command>INSERT</command> et <command>UPDATE</command>, l'ancienne
- (<varname>OLD</varname>) ligne pour les déclencheurs
- <command>DELETE</command>).
+ Un déclencheur avant niveau ligne qui ne serait pas conçu pour avoir l'un de
+ ces comportements doit prendre garde à retourner la même ligne que celle
+ qui lui a été passée comme nouvelle ligne (c'est-à-dire : pour des déclencheurs
+ <command>INSERT</command> et <command>UPDATE</command> : la nouvelle
+ (<varname>NEW</varname>) ligne ,et pour les déclencheurs
+ <command>DELETE</command>) : l'ancienne
+ (<varname>OLD</varname>) ligne .
</para>
<para>
La valeur de retour est ignorée pour les déclencheurs niveau ligne lancés
- après une opération. Ils pourraient donc très bien renvoyer la valeur
+ après une opération. Ils peuvent donc renvoyer la valeur
<symbol>NULL</symbol>.
</para>
<para>
Si plus d'un déclencheur est défini pour le même événement sur la même
relation, les déclencheurs seront lancés dans l'ordre alphabétique de leur
- nom. Dans le cas de déclencheurs avant, les lignes, susceptibles d'être
- modifiées, renvoyées par chaque déclencheur deviennent l'argument du
+ nom. Dans le cas de déclencheurs avant, la ligne
+ renvoyée par chaque déclencheur, qui a éventuellement été modifiée, devient l'argument du
prochain déclencheur. Si un des déclencheurs avant renvoie un pointeur
<symbol>NULL</symbol>, l'opération est abandonnée pour cette ligne et les
déclencheurs suivants ne sont pas lancés.
</para>
<para>
- Typiquement, les déclencheurs avant en mode ligne sont utilisés pour
+ Les déclencheurs avant en mode ligne sont typiquement utilisés pour
vérifier ou modifier les données qui seront insérées ou mises à jour. Par
exemple, un déclencheur avant pourrait être utilisé pour insérer l'heure
actuelle dans une colonne de type <type>timestamp</type> ou pour vérifier que deux
@@ -162,7 +161,7 @@
<para>
Si une fonction déclencheur exécute des commandes SQL,
- alors ces commandes peuvent relancer des déclencheurs. On appelle ceci un
+ alors ces commandes peuvent lancer à leur tour des déclencheurs. On appelle ceci un
déclencheur en cascade. Il n'y a pas de limitation directe du nombre de
niveaux de cascade. Il est possible que les cascades causent un appel
récursif du même déclencheur ; par exemple, un déclencheur
@@ -213,9 +212,9 @@
<para>
Si vous exécutez des commandes SQL dans votre fonction SQL et que ces
commandes accèdent à la table pour laquelle vous créez ce déclencheur,
- alors vous avez besoin de connaître les règles de visibilité du déclencheur
- car elles déterminent si les commandes SQL voient les données changées pour
- lesquelles est exécuté le déclencheur. Brièvement :
+ alors vous avez besoin de connaître les règles de visibilité des données
+ car elles déterminent si les commandes SQL voient les modifications de données pour
+ lesquelles est exécuté le déclencheur. En bref :
<itemizedlist>
<listitem>
@@ -242,7 +241,7 @@
Néanmoins, les commandes SQL exécutées par un déclencheur avant en mode
ligne <emphasis>verront</emphasis> les effets des modifications de données
pour les lignes précédemment traitées dans la même commande externe. Ceci
- requiert une grande attention car l'ordre des événements des modifications
+ requiert une grande attention car l'ordre des événements de modification
n'est en général pas prévisible ; une commande SQL affectant
plusieurs lignes pourrait visiter les lignes dans n'importe quel ordre.
</para>
@@ -525,7 +524,7 @@
<para>
Une fonction déclencheur doit retourner soit un pointeur
<structname>HeapTuple</structname> soit un pointeur <symbol>NULL</symbol> (<emphasis>pas</emphasis>
- une valeur SQL NULL, donc ça ne place pas <parameter>isNull</parameter> à
+ une valeur SQL NULL, donc ne positionnez pas <parameter>isNull</parameter> à
true). Faites attention de renvoyer soit un
<structfield>tg_trigtuple</structfield> soit un <structfield>tg_newtuple</structfield>,
comme approprié, si vous ne voulez pas changer la ligne en cours de
@@ -559,7 +558,7 @@
</para>
<para>
- Voici le code source de la fonction tigger :
+ Voici le code source de la fonction trigger :
<programlisting>#include "postgres.h"
#include "executor/spi.h" /* nécessaire pour fonctionner avec SPI */
#include "commands/trigger.h" /* ... et les déclencheurs */
@@ -665,7 +664,7 @@
INFO: trigf (fired before): there are 0 rows in ttest
INFO: trigf (fired after ): there are 1 rows in ttest
^^^^^^^^
- souvenez vous de ce que nous avons dit sur la visibilité.
+ souvenez-vous de ce que nous avons dit sur la visibilité.
INSERT 167793 1
vac=> SELECT * FROM ttest;
x
@@ -677,7 +676,7 @@
INFO: trigf (fired before): there are 1 rows in ttest
INFO: trigf (fired after ): there are 2 rows in ttest
^^^^^^
- souvenez vous de ce que nous avons dit sur la visibilité.
+ souvenez-vous de ce que nous avons dit sur la visibilité.
INSERT 167794 1
=> SELECT * FROM ttest;
x
@@ -706,7 +705,7 @@
INFO: trigf (fired after ): there are 0 rows in ttest
INFO: trigf (fired after ): there are 0 rows in ttest
^^^^^^
- souvenez vous de ce que nous avons dit sur la visibilité.
+ souvenez-vous de ce que nous avons dit sur la visibilité.
DELETE 2
=> SELECT * FROM ttest;
x
More information about the Trad
mailing list