From: | Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Tableau dans une requête |
Date: | 2009-09-13 16:58:26 |
Message-ID: | 1252861106.11394.82.camel@samuel-laptop |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Il semblerait en réalité que je soit obliger de combiner
"array_to_string" et EXECUTE pour executer des requêtes dynamiques...
Le problème, c'est que ce n'est pas vraiment dynamique et, je pense
qu'au niveau perf dans les caches, etc... les commandes exécutées via
EXECUTE sont moins bonnes... Mais ce n'est qu'une hypothése.
De plus, au niveau de la propreté du code, c'est pas top !
C'est pourquoi, s'il y a d'autres idées, ça m'intéresse énormément !
Merci !
Samuel.
Le dimanche 13 septembre 2009 à 18:22 +0200, Samuel ROZE a écrit :
> Re-Bonjour,
>
> J'ai un nouveau problème, c'est lors du passage d'un tableau (variable)
> dans une requête... Je ne vois pas bien comment faire, et surtout, je
> n'ai rien trouver à propos de ça dans la doc.
>
> CREATE OR REPLACE FUNCTION graphiques.getCoupleCriteresId ( v_criteres
> varchar(50)[]) ) RETURNS integer AS $$
> DECLARE
> v_id_couple integer;
> BEGIN
> SELECT id_couple_critere , count(*) INTO v_id_couple
> FROM graphiques.critere
> WHERE lib_critere IN ANY 'v_criteres'::varchar(50)[]
> GROUP BY id_couple_critere
> HAVING count(*) = array_upper(v_criteres, 1);
>
> RETURN v_id_couple;
> END;
> $$ LANGUAGE plpgsql;
>
> J'ai une erreur lorsque je créé la fonction:
>
> ERREUR: erreur de syntaxe sur ou près de « ANY »
> LINE 1: ...t(*) FROM graphiques.critere WHERE lib_critere IN ANY 'v_cri...
> ^
> QUERY: SELECT id_couple_critere , count(*) FROM graphiques.critere WHERE lib_critere IN ANY 'v_criteres'::varchar(50)[] GROUP BY id_couple_critere HAVING count(*) = array_upper( $1 , 1)
> CONTEXT: SQL statement in PL/PgSQL function "getcouplecriteresid" near line 8
>
> Comment puis-je passer ce tableau dans une requête ?
>
> Merci!
> Cordialement, Samuel ROZE.
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume Lelarge | 2009-09-13 17:07:56 | Re: Tableau dans une requête |
Previous Message | Samuel ROZE | 2009-09-13 16:49:40 | Re: Tableau dans une requête |