Re: [GENERAL] Newbie ...Function error (Stored Procedure)?
I think you need to double the single quotes around the sequence name: (''seq1''). Statements inside function definitions go through an extra level of parsing, which strips off one set of single quotes. - Original Message - From: "Ron S" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, August 27, 2001 2:34 PM Subject: [GENERAL] Newbie ...Function error (Stored Procedure)? > 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? I can't for the life of me figure this > seemingly simple > error out ;) > > Postgresql 7.0.3 on Mandrake 8.0 > > Thanks, > Ron > > ---(end of broadcast)--- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/users-lounge/docs/faq.html > > ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://www.postgresql.org/search.mpl
[GENERAL] Newbie ...Function error (Stored Procedure)?
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? I can't for the life of me figure this seemingly simple error out ;) Postgresql 7.0.3 on Mandrake 8.0 Thanks, Ron ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html
Re: [GENERAL] Newbie ...Function error (Stored Procedure)?
You have to escape the ' inside of your function definition: CREATE FUNCTION testid() RETURNS INTEGER AS 'SELECT nextval(\'seq1\');' LANGUAGE 'SQL'; The quotationmark in front of seq1 terminated the literal string that should contain your SQL statement and the parser was confused to find an 's' behind the literal string. Arne. ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html