IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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.