32.37. triggers

La vue triggers contient tous les d�clencheurs d�finis dans la base de donn�es courante et poss�d�s par l'utilisateur courant (le propri�taire de la table est le propri�taire du d�clencheur).

Tableau 32-35. Colonnes de triggers

NomType de donn�esDescription
trigger_catalogsql_identifierNom de la base de donn�es contenant le d�clencheur (toujours la base de donn�es courante)
trigger_schemasql_identifierNom du sch�ma contenant le d�clencheur
trigger_namesql_identifierNom du d�clencheur
event_manipulationcharacter_data �v�nement qui a ex�cut� le d�clencheur (INSERT, UPDATE ou DELETE)
event_object_catalogsql_identifier Nom de la base de donn�es contenant la table o� est d�fini le d�clencheur (toujours la base de donn�es courante)
event_object_schemasql_identifierNom du sch�ma contenant la table o� est d�fini le d�clencheur
event_object_tablesql_identifierNom de la table o� est d�fini le d�clencheur
action_ordercardinal_numberPas encore impl�ment�
action_conditioncharacter_dataS'applique � une fonctionnalit� non disponible dans PostgreSQL.
action_statementcharacter_data Instruction ex�cut�e par le d�clencheur (actuellement toujours EXECUTE PROCEDURE function(...))
action_orientationcharacter_data Identifie si le d�clencheur a �t� ex�cut� une fois pour chaque ligne trait�e ou une fois par instruction (ROW ou STATEMENT)
condition_timingcharacter_data Moment de l'ex�cution du d�clencheur (BEFORE ou AFTER)
condition_reference_old_tablesql_identifierS'applique � une fonctionnalit� non disponible dans PostgreSQL.
condition_reference_new_tablesql_identifierS'applique � une fonctionnalit� non disponible dans PostgreSQL.

Les d�clencheurs dans PostgreSQL ont deux incompatibilit�s avec le standard SQL qui affectent la repr�sentation dans le sch�ma d'information. Tout d'abord, les noms de d�clencheurs sont locaux � la table avec PostgreSQL, plut�t qu'ind�pendant des objets sch�ma. Du coup, il pourrait y avoir des noms de d�clencheurs dupliqu�s dans un sch�ma s'ils s'occupent de tables diff�rentes (trigger_catalog et trigger_schema sont r�ellement les valeurs restant dans la table sur laquelle est d�fini le d�clencheur.) Deuxi�mement, les d�clencheurs peuvent �tre d�finis pour s'ex�cuter sur plusieurs �v�nements dans PostgreSQL (c'est-�-dire ON INSERT OR UPDATE) alors que le standard SQL n'en autorise qu'un. Si un d�clencheur est d�fini pour s'ex�cuter sur plusieurs �v�nements, il est repr�sent� sur plusieurs lignes dans le sch�ma d'information, une pour chaque type d'�v�nement. Comme cons�quence de ces deux probl�mes, la cl� primaire de la vue triggers est en fait (trigger_catalog, trigger_schema, trigger_name, event_object_table, event_manipulation) au lieu de (trigger_catalog, trigger_schema, trigger_name), ce que sp�cifie le standard SQL. N�anmoins, si vous d�finissez les d�clencheurs d'une mani�re conforme au standard SQL (des noms de d�clencheurs uniques dans le sch�ma et seulement un type d'�v�nement par d�clencheur), ceci ne vous concernera pas.