Обсуждение: FUNCTION question

Поиск
Список
Период
Сортировка

FUNCTION question

От
"Nico Callewaert"
Дата:
Hi !
 
I'm trying to modify an input parameter of a function, but I receive following error :
 
ERROR:  "$17" is declared CONSTANT
CONTEXT:  compile of PL/pgSQL function "update_jobreg" near line 26
 
Is there a way to modify an input parameter or I have to declare a local variable and assign that input parameter to it ?
 
Many thanks in advance, Nico Callewaert

Re: FUNCTION question

От
John DeSoi
Дата:
On Feb 24, 2009, at 7:25 AM, Nico Callewaert wrote:

> I'm trying to modify an input parameter of a function, but I receive
> following error :
>
> ERROR:  "$17" is declared CONSTANT
> CONTEXT:  compile of PL/pgSQL function "update_jobreg" near line 26
>
> Is there a way to modify an input parameter or I have to declare a
> local variable and assign that input parameter to it ?

Declaring a local variable is the best way to do it. You can modify a
parameter if you declare it as INOUT, but you generally only want to
do that if you want to return something from the function.

Note that you can declare and assign the value in a single line in the
DECLARE section of the function, e.g.

text_var text := text_param;



John DeSoi, Ph.D.