Skip site navigation (1) Skip section navigation (2)

Re: RETURN cannot have a parameter in function with OUT parameters

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 (view raw or flat)
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

In response to

Responses

pgsql-fr-generale by date

Next:From: Samuel ROZEDate: 2008-09-02 11:54:51
Subject: Re: RETURN cannot have a parameter in functionwith OUT parameters
Previous:From: Samuel ROZEDate: 2008-09-02 11:40:22
Subject: RETURN cannot have a parameter in function with OUT parameters

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group