Documentation PostgreSQL 8.0.25 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Chapitre 32. D�clencheurs (triggers) | Avance rapide | Suivant |
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 :
Les d�clencheurs niveau instruction suivent des r�gles de visibilit� simples : aucune des modifications r�alis�es par une instruction n'est visible aux d�clencheurs niveau instruction appel�s avant l'instruction alors que toutes les modifications sont visibles aux d�clencheurs apr�s niveau instruction.
Les modifications de donn�es (insertion, mise � jour ou suppression) lan�ant le d�clencheur ne sont naturellement pas visibles aux commandes SQL ex�cut�es dans un d�clencheur avant en mode ligne parce qu'elles ne sont pas encore survenues.
N�anmoins, les commandes SQL ex�cut�es par un d�clencheur avant en mode ligne verront 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 n'est en g�n�ral pas pr�visible ; une commande SQL affectant plusieurs lignes pourrait visiter les lignes dans n'importe quel ordre.
Quand un d�clencheur apr�s en mode ligne est ex�cut�, toutes les modifications de donn�es r�alis�es par la commande externe sont d�j� termin�es et sont visibles par la fonction appel�e par le d�clencheur.
Il existe plus d'informations sur les r�gles de visibilit� des donn�es dans la Section 39.4. L'exemple dans la Section 32.4 contient une d�monstration de ces r�gles.
Pr�c�dent | Sommaire | Suivant |
D�clencheurs (triggers) | Niveau sup�rieur | �crire des fonctions d�clencheurs en C |