Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/03/2005, 15h23   #1
Invité de passage
 
Inscription : mars 2005
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1
Points : 0
Points : 0
Par défaut Requête dynamique en pagination

Bonjour,

Je suis en train de migrer un base SQLServer en Postgres 8.0.

Pour ce faire, j'ai besoin de développer une fonction qui exécute des requêtes dynamiques et qui "pagine" le résultat.

J'ai fait ça, mais j'ai des erreurs à l'exécution:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
CREATE OR REPLACE FUNCTION paginate(
    c_query TEXT,
    c_page INTEGER
)
RETURNS SETOF RECORD
AS $$
DECLARE
    v_query TEXT := c_query;
    v_page INTEGER := c_page;
    v_one_row RECORD;
BEGIN
    FOR v_one_row IN
        EXECUTE v_query || ' LIMIT 10 OFFSET ' || CAST(10 * v_page AS VARCHAR(10))
    LOOP
        RETURN NEXT v_one_row;
    END LOOP;
    RETURN;
END;
$$ LANGUAGE 'plpgsql';
 
************************************
SELECT * FROM paginate('SELECT * FROM Country', 1);
 
************************************
ERROR:  a COLUMN definition list IS required FOR functions returning "record"
Un aide serait for appréciée...

Merci.
pascal_fluck@hotmail.com est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2005, 16h04   #2
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
si ca peut d'aider :
http://www.developpez.net/forums/viewtopic.php?t=309298
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h28.


 
 
 
 
Partenaires

Hébergement Web