Обсуждение: Unable to run one pl/pgSQL function :-(
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
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"'') )