Re: [GENERAL] Triggers et clefs primaires

From: Cédric Villemain <cedric(dot)villemain(at)dalibo(dot)com>
To: pgsql-fr-generale(at)postgresql(dot)org
Cc: Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr>, Daniel Verite <daniel(at)manitou-mail(dot)org>
Subject: Re: [GENERAL] Triggers et clefs primaires
Date: 2008-08-26 09:19:21
Message-ID: 200808261119.26205.cedric.villemain@dalibo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Le Tuesday 26 August 2008, Samuel ROZE a écrit :
> 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é" ?

il me mmanque le debut de la conversation, toutefois je suppose que
http://www.postgresql.org/docs/8.3/interactive/sql-set-constraints.html

et le mot clef DEFERRABLE devrait vous aider grandement .

>
> Cordialement, Samuel ROZE.

--
Cédric Villemain
Administrateur de Base de Données
Cel: +33 (0)6 74 15 56 53
http://dalibo.com - http://dalibo.org

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Guillaume Lelarge 2008-08-26 09:26:28 Re: [GENERAL] Triggers et clefs primaires
Previous Message Samuel ROZE 2008-08-26 09:12:20 Re: [GENERAL] Triggers et clefs primaires