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: | Raw Message | Whole Thread | 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 |