41.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. TD["event"]
contient l'événement en tant que chaîne (INSERT, UPDATE,
DELETE, TRUNCATE ou UNKNOWN).
TD["when"] contient soit BEFORE, soit AFTER soit
UNKNOWN. TD["level"] contient une valeur parmi ROW, STATEMENT et
UNKNOWN. Pour un trigger niveau ligne,
les lignes du trigger sont dans TD["new"] et/ou TD["old"] suivant l'événement qui a déclenché le
trigger. 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["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 et si TD["level"] vaut ROW,
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. Sinon la valeur de retour est ignorée.