From: | Claude <claude(dot)di(dot)pg(at)free(dot)fr> |
---|---|
To: | liste postgre <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: transaction ou execute ? |
Date: | 2005-09-12 10:33:03 |
Message-ID: | 4325595F.4070109@free.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
>>
>> Dans une procédure stockée, je veux créer une personne puis dans une
>> autre créer l'objet qui lui correspond.
>>
>> j'ai donc :
>> ........
>> insert into personne (nom, prenom, id_langue)
>> values (nom_personne, prenom_personne, id_langue_personne);
>> id_de_personne := currval ('public.personne_id_personne_seq');
>> -- création de l'objet personnel
>> perform creer_objet_personne (objet, date_debut, id_de_personne );
>>
>> Systématiquement, j'obtiens une erreur sur id_de_personne, comme si la
>> personne n'avait aps été créée...
>
>
> Je penche pour une simple erreur de récupération de currval. Est-il
> fait un appel préalable à nextval sur cette séquence dans la
> transaction courante ?
>
> Voir à ce sujet la documentation concernant les séquences:
> http://traduc.postgresqlfr.org/pgsql-8.0.3-fr/functions-sequence.html
Merci.
Cette indication m'a permis de corriger ma procédure et de la faire
fonctionner même si au final je ne sais pas vraiment ce qui générait
l'erreur.
Claude
From | Date | Subject | |
---|---|---|---|
Next Message | Claude | 2005-09-12 10:35:15 | recherche documentation pgsql |
Previous Message | Dr. Stéphane Schildknecht | 2005-09-07 07:40:44 | Re: transaction ou execute ? |