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

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.