40.2. Fonctions de déclencheurs
Quand une fonction est utilisée comme un déclencheur, le dictionnaire
TD contient des valeurs relatives au
déclencheur. Les lignes du déclencheur sont dans TD["new"] et/ou TD["old"]
suivant l'événement ayant lancé le déclencheur. TD["event"] contient l'événement en tant que chaîne
(INSERT, UPDATE,
DELETE ou UNKNOWN).
TD["when"] contient soit BEFORE, soit AFTER soit
UNKNOWN. TD["level"] contient une valeur parmi ROW, STATEMENT et UNKNOWN. TD["name"] contient
le nom du déclencheur, TD["table_name"]
contient le nom de la table pour laquelle a été exécuté le
déclencheur, TD["table_schema"] contient le
schéma de la table pour laquelle a été exécuté le déclencheur,
TD["name"] contient le nom du déclencheur et
TD["relid"] l'OID de la table sur lequel le
déclencheur a été activé. Si la commande
CREATE TRIGGER
incluait des
arguments, ils sont disponibles dans les variables de TD["args"][0] à TD["args"][(
n
-1)].
Si TD["when"] vaut BEFORE, vous pourriez renvoyer None ou "OK" à partir de la
fonction Python pour indiquer que la ligne n'est pas modifiée,
"SKIP" pour annuler l'événement ou
"MODIFY" pour indiquer que vous avez modifié
la ligne.