Re: [GENERAL] Triggers et clefs primaires

From: Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org, Daniel Verite <daniel(at)manitou-mail(dot)org>
Subject: Re: [GENERAL] Triggers et clefs primaires
Date: 2008-08-26 09:12:20
Message-ID: 1219741940.6624.12.camel@samuel-laptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Le mardi 26 août 2008 à 11:06 +0200, Daniel Verite a écrit :
> Samuel ROZE wrote:
>
> > -> 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 ?
>
> Oui, le 1er INSERT n'ayant pas été COMMITé, la ligne dans table1
> n'existe pas encore du point de vue de la connexion qui fait le 2eme
> INSERT.
>
> PS: pgsql-general(at)postgresql(dot)org est une liste anglophone, il faudrait
> plutôt utiliser pgsql-fr-generale(at)postgresql(dot)org pour des messages en
> français.
>

Nous voilà sur la bonne alors ! :)

Donc, si j'ai bien compris, c'est impossible d'ajouter des
enregistrements comme je le fait..
Je trouve ça un peu bizare étant donné que le trigger est un trigger
d'après enregistrement.

Il y a-t-il un moyen pour forcer PostgreSQL à "commité" ?

Cordialement, Samuel ROZE.

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Cédric Villemain 2008-08-26 09:19:21 Re: [GENERAL] Triggers et clefs primaires
Previous Message damien clochard 2008-08-25 14:01:23 Livre Blanc collaboratif sur PostgreSQL