Re: [NOVICE] 'select nextval('seq_name');' in a function ? - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: [NOVICE] 'select nextval('seq_name');' in a function ?
Date
Msg-id 20040131072014.L91270@megazone.bigpanda.com
Whole thread Raw
List pgsql-sql
On Sat, 24 Jan 2004, Pragati Kenkare wrote:

> I am new to postgresql. Using PostgreSQL 7.3.2, I did the following.
>
> testdb#CREATE SEQUENCE principal_id increment 1 start 1000 cache 5;
>
> testdb#CREATE TABLE principal (principal_id int not null, name text, constraint pk_principal primary
key(principal_id));
>
> testdb#CREATE FUNCTION getnext_principal_id(int) returns int as 'select nextval('principal_id');' language 'SQL';

You need to double the single quotes around principal_id, and I'm not sure
which version switched to int8 sequences, and do you really want to be
passing in an unused int?

CREATE FUNCTION getnext_principal_id() returns int as 'select
CAST(nextval(''principal_id'') AS int4);' language 'SQL';

However, how are you planning to use this?  Perhaps making principal_id a
serial would be better for you.

pgsql-sql by date:

Previous
From: beyaRecords - The home Urban music
Date:
Subject: Mechanics of Update:Cascade
Next
From: Stephan Szabo
Date:
Subject: Re: Mechanics of Update:Cascade