| From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> | 
|---|---|
| To: | pgsql-fr-generale(at)postgresql(dot)org | 
| Cc: | Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr>, Dimitri Fontaine <dfontaine(at)hi-media(dot)com> | 
| Subject: | Re: Noms de variable dynamiques | 
| Date: | 2009-09-15 18:41:31 | 
| Message-ID: | 200909152041.31282.guillaume@lelarge.info | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-fr-generale | 
Le mardi 15 septembre 2009 à 19:18:07, Samuel ROZE a écrit :
> Bonjour,
> 
> Le dimanche 13 septembre 2009 à 23:27 +0200, Dimitri Fontaine a écrit :
> > Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr> writes:
> > > Dans ce cas, est-ce possible d'accèder à un champ d'un RECORD en
> > > utilisant des hacks du genre EXECUTE pour les requêtes ?
> >
> >   SELECT (record).champ FROM mysrf(x) as record;
> 
> Que signifie "mysrf" ? Et à quoi correspond "x" ?
> 
Je parierais sur MY Set Returning Function. Menfin bon, à remplacer par votre 
nom de fonction. x est un des arguments de la fonction (enfin le seul là).
> > Ça ça marche, mais ton soucis est que tu veux faire ça avec NEW et
> > PostgreSQL ne sait pas sur quelle table tu vas mettre ton trigger, donc
> > il ne sait pas ce qu'il y a dans NEW. Tu peux toujours transtyper pour
> > qu'il sache de quoi tu parles, mais au runtime il faudra que le CAST
> > soit réellement possible.
> >
> >   c := (NEW::type).champ;
> 
> Ceci ne marche pas dans un 'EXCUTE'. :-)
> 
> > Pour rappel toute table est égalemment un type de données.
> 
-- 
Guillaume.
 http://www.postgresqlfr.org
 http://dalibo.com
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Samuel ROZE | 2009-09-15 19:56:21 | Re: Noms de variable dynamiques | 
| Previous Message | Samuel ROZE | 2009-09-15 17:18:07 | Re: Noms de variable dynamiques |