Fwd: PL-PGSQL : Procédure stockée simple

From: Francois Suter <dba(at)paragraf(dot)ch>
To: Pgsql Generale Fr <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Fwd: PL-PGSQL : Procédure stockée simple
Date: 2005-07-08 07:21:45
Message-ID: a5f45d4196b3d37c2575dfdc5c66b0a7@paragraf.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Je transmets un message envoyé à pgsql-fr-generale-owner(at)postgresql(dot)org
au lieu de pgsql-fr-generale(at)postgresql(dot)org (merci de faire attention
la prochaine fois).

François

Begin forwarded message:

> From: "Jerome VILLAFRUELA" <Jerome(dot)VILLAFRUELA(at)yoni(dot)fr>
> Date: July 7, 2005 18:28:17 CEST
> To: <pgsql-fr-generale-owner(at)postgresql(dot)org>
> Subject: RE: PL-PGSQL : Procédure stockée simple
>
> Anthony Stéphan écrivait le jeudi 7 juillet 2005 17:34 :
>
> [...]
>> Je cherche à faire quelque chose de très simple : récupérer des
>> enregistrements
>> dans une table avec un SELECT (dans ce cas de figure, une seule
>> colonne
>> m'intéresse mais bon ce sera pas toujours le cas) et les retourner
>> vers PHP.
>> Evidemment je peux faire ça sans procédure stockée mais bon vu que
>> j'ai
>> commencé à en faire quelques unes, j'aime autant poursuivre dans
>> cette voie
>> et tout séparer convenablement.
>>
>> Je suppose qu'il faut dans la procédure : déclarer un tableau, faire
>> la
>> requêtre souhaitée, récupérer les résultats, les mettre dans le
>> tableau et
>> retourner ce tableau.
>
> Exemple de fonction renvoyant un ensemble de lignes :
> (tiré de
> http://www.sai.msu.su/~megera/postgres/gist/tsearch/V2/docs/tsearch2-
> guide.html)
>
> Il faut d'abord créer un type décrivant les informations retournées
> par la fonction :
> =# CREATE TYPE finddoc_t AS (id INTEGER, headline TEXT, rank REAL)
>
> Utiliser le mot clé SETOF pour indiquer que la fonction va renvoyer un
> ensemble de lignes :
> =# CREATE FUNCTION finddoc(text) RETURNS SETOF finddoc_t LANGUAGE sql
> AS '
> SELECT id, headline(doc, q), rank(vector, q)
> FROM docs, to_tsquery($1) AS q
> WHERE vector @@ q ORDER BY rank(vector, q) DESC'
>
>
> La fonction s'utilise ensuite dans un ordre select :
> SELECT * FROM finddoc('passage|crawl')
> ce qui ne pose pas de problème en PhP.
>
> --
> Jérôme Villafruela
> RFI Informatique
> ZI Percevalière - 7410
> 38174 SEYSSINET-PARISET
> Tél: 04 76 84 25 84
>
>

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Jerome VILLAFRUELA 2005-07-08 07:34:23 RE: PL-PGSQL : Procédure stockée simple
Previous Message Masse Jacques 2005-07-07 16:16:33 RE: [pgsql-fr-generale] PL-PGSQL : Procédure stockée simple