From: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> |
---|---|
To: | Pragati Kenkare <pkenkare(at)writeme(dot)com> |
Cc: | pgsql-novice(at)postgresql(dot)org, pgsql-sql(at)postgresql(dot)org |
Subject: | Re: 'select nextval('seq_name');' in a function ? |
Date: | 2004-01-31 15:23:36 |
Message-ID: | 20040131072014.L91270@megazone.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice 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.
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2004-01-31 15:50:20 | Re: Method Question |
Previous Message | Derrick Betts | 2004-01-31 07:18:38 | Re: Emailing a list of users when a record is entered in the database. |
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2004-01-31 15:26:01 | Re: Mechanics of Update:Cascade |
Previous Message | beyaRecords - The home Urban music | 2004-01-31 10:50:03 | Mechanics of Update:Cascade |