Vous n'êtes pas identifié(e).
je veux que ma fonction retourne plusieurs lignes
CREATE OR REPLACE FUNCTION reffunc2()
RETURNS refcursor AS
$BODY$
DECLARE
ref refcursor;
BEGIN
OPEN ref FOR SELECT * FROM deplacee;
RETURN ref;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION reffunc2() OWNER TO postgres;
puis
SELECT reffunc2();
el elle retourne
reffunc2
--------------------
<unnamed portal 5>
(1 row)
FETCH ALL IN "<unnamed portal 5>"
RESULTAT
ERROR: cursor "<unnamed portal 5>" does not exist
merci d'avance
Hors ligne
bonjour a tous
j ai essayer cette fonction .elle ecrit juste mais je ne sais pas pourquoi elle ne marche pas
si quel qu'un peut m'aider
merci d'avance
Hors ligne
Le curseur n'est valable que dans une transaction.
Guillaume.
Hors ligne
bonjour
jai pas compris est ce que tu peut m'expliquer un peu
cette fonction j'ai trouver dans les documents du postgresql
merci d'avance
Hors ligne
Le SELECT et le FETCH ALL doivent se trouver dans la même transaction, ie:
BEGIN;
SELECT reffunc2();
FETCH ALL IN "le portal renvoyé";
COMMIT;
Guillaume.
Hors ligne
j'ai fait cette fonction mais elle retourne
Le résultat de la requête contient 1 ligne(s) non-extraite(s).
Le résultat de la requête contient 1 ligne(s) non-extraite(s).
La requête a été exécutée avec succès en 12 ms, mais ne renvoie aucun résultat.
elle ne retourne pas les lignes des tables
merci d'avance
Hors ligne
As-tu essayé avec psql ? le comportement n'est pas forcément le même.
Guillaume.
Hors ligne