Re: Newbie ...Function error (Stored Procedure)?

From: Richard Poole <richard(dot)poole(at)vi(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Newbie ...Function error (Stored Procedure)?
Date: 2001-08-31 17:42:10
Message-ID: 20010831184210.I24593@office.vi.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Aug 27, 2001 at 12:34:14PM -0700, Ron S wrote:
> I have a sequence called seq1.
>
> In psql I am trying to create a function which simply calls this
> sequence with the nextval() function.
>
> CREATE FUNCTION testid()
> RETURNS INTEGER
> AS 'SELECT NEXTVAL('seq1');'
> LANGUAGE 'SQL';
>
>
> I get the following error....
> ERROR: parser: parser error at or near "seq1"
>
> I can call nextval('seq1') by itself with now error.
>
> What am I doing wrong?

The first single quote after the left parenthesis is seen as ending
the function body, so postgres looks for the keyword LANGUAGE
immediately afterwards. Double your single quotes inside the function
body or backslash them:

CREATE FUNCTION testid()
RETURNS INTEGER
AS 'SELECT NEXTVAL(''seq1'');'
LANGUAGE 'SQL';

or

CREATE FUNCTION testid()
RETURNS INTEGER
AS 'SELECT NEXTVAL(\'seq1\');'
LANGUAGE 'SQL';

Richard

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Bruno Wolff III 2001-08-31 17:54:05 Re: Deployment of PostgreSQL Applications
Previous Message Howie 2001-08-31 17:22:21 Re: PostgreSQL On the Mac? OS9 or OSX?