Bonjour,

J'ai un trigger (AFTER FOR EACH ROW) sur une table qui à chaque fois qu'il y a un enregistrement sur cette même table, exécute une fonction pgplsql qui éxécute elle-même une fonction PL/sh qui exécute un script PHP.

Dans ce script PHP, je créer 10 enregistrements dans une autre tables où il y a un champ qui fait référence à la table sur laquelle il y a le trigger.

Exemple d'application:

INSERT INTO table1 (champ2, champ3) VALUES ('salut', 'samuel');
(la table1 as un champ1 (alias id) qui est un serial en clef primaire)

-> La fonction pgplsql (appelée par le trigger) récupère l'ID de l'enregistrement (NEW.id), le donne à la fonction pl/sh qui le donne au script PHP.

J'enregistre des données dans la table2, avec un champ qui fait référence à l'id de la table1. Des données avec comme id de table1, l'ID qui vient juste d'être enregistré...

ERREUR de clef étrangère...

Note: Les deux tables sont dans deux schémas différents, avec deux utilisateurs différents. Cependant, aucun problème de droit a priori (GRANT USAGE ON SCHEMA... GRANT REFERENCES ON TABLES...)

Avez-vous une idée ?

Merci à vous,
Cordialement, Samuel.