Обсуждение: Unable to run one pl/pgSQL function :-(

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

Unable to run one pl/pgSQL function :-(

От
"Bruno Baguette"
Дата:
Hello,

I've written a little pl/pgSQL function in order to use it on a little
postgreSQL database :

CREATE function tuple_add(VARCHAR(200)) RETURNS text AS
'
DECLARE
Response text;
PeopleName ALIAS FOR $1;
BEGIN
INSERT INTO PEOPLES VALUES (SEQUENCE_Id.NEXTVAL(),PeopleName);
return Response;
END;
'   LANGUAGE 'plpgsql';

When I add this function to my database, I don't receive any error
message.

But I don't success to use this function. I've tried like that :

mabd=> SELECT tuple_add('One try');
ERROR:  parser: parse error at or near "("
mabd=> SELECT tuple_add("One try");
ERROR:  Attribute 'One try' not found

The PEOPLE database just contains two columns : an INTEGER and one
VARCHAR(200). And the SEQUENCE_Id sequence I use is existing. I've also
checked that pl/pgSQL has been activated to my database.

The Response variable is to be used to get the eventual exception, but I
have to find how I can do that.

Can you explain me how can I use my pl/pgSQL function ?

Thanks in advance ! :-)

-------------------------------------------------
Bruno BAGUETTE - bruno.baguette@netcourrier.com


Re: Unable to run one pl/pgSQL function :-(

От
Stephan Szabo
Дата:
On Fri, 21 Jun 2002, Bruno Baguette wrote:

> Hello,
>
> I've written a little pl/pgSQL function in order to use it on a little
> postgreSQL database :
>
> CREATE function tuple_add(VARCHAR(200)) RETURNS text AS
> '
> DECLARE
> Response text;
> PeopleName ALIAS FOR $1;
> BEGIN
> INSERT INTO PEOPLES VALUES (SEQUENCE_Id.NEXTVAL(),PeopleName);

I'd suggest:
nextval(''sequence_id'') (or if SEQUENCE_Id was made with double
quotes, nextval(''"sequence_id"'') )