From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | Samuel ROZE <samuel(dot)roze(at)aliceadsl(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: RETURN cannot have a parameter in function with OUT parameters |
Date: | 2008-09-02 11:52:48 |
Message-ID: | 48BD2910.5000904@lelarge.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Samuel ROZE a écrit :
> Bonjour à tous,
>
> Toujours dans mon fonction "contact" de la dernière fois, PostgreSQL me
> sort une erreur bizare avec une simple fonction plpgsql...
>
> "5-clients-fonctions.sql:36: ERREUR: RETURN cannot have a parameter in
> function with OUT parameters sur ou près de « v_id » at character 1486"
>
> Je ne comprend vraiment pas qu'est-ce qu'il ce passe... Pouvez-vous
> m'aider ? Ci-dessous la fonction concernée.
>
> -----------------------
> CREATE OR REPLACE FUNCTION clients.contact (p_nom text, p_email text,
> inout TRIGGER integer) RETURNS integer AS $contact$
Tu déclares ta fonction comme renvoyant un integer, non pas grâce à la
clause returns, mais avec le mode inout du paramètre trigger (fort
mauvais nom pour une variable car trigger est un mot clé réservé).
> [...]
> RETURN v_id;
Du coup, ici, tu ne dois pas avoir
RETURN une_variable;
mais
RETURN;
et la valeur actuelle de la variable TRIGGER sera renvoyée.
Bref, vu ton code (et surtout vu ce que tu veux renvoyer), je pense que
le mode inout est à supprimer.
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Samuel ROZE | 2008-09-02 11:54:51 | Re: RETURN cannot have a parameter in function with OUT parameters |
Previous Message | Samuel ROZE | 2008-09-02 11:40:22 | RETURN cannot have a parameter in function with OUT parameters |