PostgreSQLLa base de données la plus sophistiquée au monde.

39.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 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.