From: | Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr> |
---|---|
To: | "Marie-Claude QUIDOZ" <Marie-Claude(dot)QUIDOZ(at)cefe(dot)cnrs(dot)fr> |
Cc: | <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: requete parametre avec postgresql |
Date: | 2010-12-09 15:15:01 |
Message-ID: | 87vd33j7uy.fsf@hi-media-techno.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
"Marie-Claude QUIDOZ" <Marie-Claude(dot)QUIDOZ(at)cefe(dot)cnrs(dot)fr> writes:
> Je souhaiterai vers des vues paramétrées (*) avec postgresql.
Il faut pour cela utiliser une procédure stockée, mais il est possible
de faire cela en simple SQL:
CREATE FUNCTION table_annee(annee date)
RETURNS SETOF table1
LANGUAGE SQL
AS $$
SELECT * FROM table1 WHERE annee = $1;
$$;
SELECT t.* FROM table_annee(current_date) as t;
Bien sûr le select * est à proscrire de toute procédure, mais sans le
nom des colonne l'exemple est difficile à écrire autrement.
> select * from table1 where annee=$1
> (*) ou des requêtes paramétrées
Pour les requêtes paramétrées, cela est supporté par PostgreSQL avec la
fonction PQexecParams(), exportée par la plupart des drivers (en PHP la
fonction est pg_query_params(), par exemple).
http://www.postgresql.org/docs/9.0/interactive/libpq-exec.html#LIBPQ-EXEC-MAIN
Il existe aussi les requêtes préparées qui sont tout à fait différentes
mais peut être pas hors-sujet, nous n'avons pas assez d'informations
pour en juger.
--
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
From | Date | Subject | |
---|---|---|---|
Next Message | Marie-Claude QUIDOZ | 2010-12-10 12:38:03 | client pphpadmin |
Previous Message | Cousin Florence | 2010-12-09 12:36:00 | Re: requete parametre avec postgresql |