Cuando una función se utiliza como un disparador (trigger), el diccionario
TD contiene valores relacionados con el disparador:
TD["event"]
contiene el evento como una cadena:
INSERT, UPDATE,
DELETE o TRUNCATE.
TD["when"]
contiene uno de BEFORE, AFTER o
INSTEAD OF.
TD["level"]
contiene ROW o STATEMENT.
TD["new"]TD["old"]Para un disparador a nivel de fila, uno o ambos campos contienen las filas correspondientes del disparador, según el evento del disparador.
TD["name"]contiene el nombre del disparador.
TD["table_name"]contiene el nombre de la tabla en la que ocurrió el disparador.
TD["table_schema"]contiene el esquema de la tabla en la que ocurrió el disparador.
TD["relid"]contiene el OID de la tabla en la que ocurrió el disparador.
TD["args"]
Si el comando CREATE TRIGGER
incluyó argumentos, están disponibles desde TD["args"][0] hasta
TD["args"][.
n-1]
Si TD["when"] es BEFORE o
INSTEAD OF y
TD["level"] es ROW, puedes
devolver None o "OK" desde la
función de Python para indicar que la fila no se ha modificado,
"SKIP" para abortar el evento, o si TD["event"]
es INSERT o UPDATE puedes devolver
"MODIFY" para indicar que has modificado la nueva fila.
De lo contrario, el valor de retorno es ignorado.