Re: Implicit sequence with start value?

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: Clemens Eisserer <linuxhippy(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Implicit sequence with start value?
Date: 2009-07-26 17:34:24
Message-ID: dcc563d10907261034l42b78115p6c944d857653f4b1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-jdbc

On Sun, Jul 26, 2009 at 11:20 AM, Clemens Eisserer<linuxhippy(at)gmail(dot)com> wrote:
> Hi Tom,
>
>> regression=# alter sequence foo_bar_seq start with 1000;
>> ALTER SEQUENCE
> Completly forgot about that possibility, thanks a lot :)
>
> What still puzzles me is how to get the sequence value applied.
> MySQL's auto_increment simply ignores whatever value is supplied to
> it, however postgres seems to insert the value instead of the next
> sequence value, if one is supplied:
>
>> CREATE TABLE custtype (key SERIAL PRIMARY KEY NOT NULL, name VARCHAR(127) NOT NULL,  short VARCHAR(4));
>> ALTER SEQUENCE custtype_key_seq START WITH 10000;");
>> INSERT INTO custtype VALUES(0, 'test', 'ta');
>>
>>  key |      name      | short
>> -----+----------------+-------
>  >  0   | test      | ta
>
> Of course, under normal circumstances it would be no problem to insert
> a nextval() however I am using an updateable JDBC ResultSet.
> Any idea how I can force the sequence's nextval() value into the key
> column using ResultSets?
>
> Thank you in advance, Clemens

Two methods:

1: Don't include the column in the insert:

INSERT INTO custtype ("name",short) VALUES('test', 'ta');

2: Use the DEFAULT keyword:

INSERT INTO custtype (key, "name",short) VALUES(DEFAULT, 'test', 'ta');

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2009-07-26 18:06:30 Re: getting PostgreSQL to run on superH-based machines
Previous Message Raymond O'Donnell 2009-07-26 17:28:46 Re: Implicit sequence with start value?

Browse pgsql-jdbc by date

  From Date Subject
Next Message Clemens Eisserer 2009-07-26 20:10:05 Updateable ResultSet doesn't fetch sequence-generated values
Previous Message Raymond O'Donnell 2009-07-26 17:28:46 Re: Implicit sequence with start value?