Re: Noms de variable dynamiques

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

In response to

Browse pgsql-fr-generale by date

  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