Une autre piste peut-être ...
Une possibilité consisterait à faire une table et une vue associée reprennant les mêmes colonnes.
Illustration :
table_donnees(col1, col2, col3)
view_donnees => CREATE OR REPLACE VIEW view_donnees AS SELECT col1, col2, col3 FROM table_donnees
L'astuce consiste alors à définir une règle spéciale sur la vue de la manière suivante :
CREATE RULE view_donnees_insert AS ON INSERT TO view_donnees DO INSTEAD ... appel au "trigger" ...
Pour obtenir le comportement que tu souhaites, cela reviendrait donc à :
- outrepasser le trigger, on insère directement dans table_donnees,
- utiliser le trigger, on insère dans view_donnees.
En espérant que ce soit possible ... (ben oui j'ai pas testé !)
N.B : "trigger" ne doit pas être appelé directement comme cela à mon avis ...