Re: [SQL] How to handle a requirement for nextval

jose' soares <sferac@bo.nettuno.it>

From: "Jose' Soares Da Silva" <sferac@bo.nettuno.it>
To: The Web Administrator <wwwadmin@wizard.ca>
Cc: PGsql <pgsql-sql@postgreSQL.org>
Date: 1998-05-19T09:50:07Z
Lists: pgsql-sql
On Mon, 18 May 1998, The Web Administrator wrote:

> I am still struggling on a few issues, have got my first little database
> up and running, and am quite happy with PostGres, but I cannot figure
> out how to create a table which can have a field that autoincrements..
> I am sure that somewhere in the oid terminology it is built in, but I
> want to have a counter on some table entries..  ie...
> CREATE TABLE clothing_type (
>       type_id INT NOT NULL,
>       description TEXT,
>       for_sex CHAR
> );
> INSERT INTO clothing_type (
>    description,
>    for_sex
> ) VALUES (
>    'pants',
>    'm'
> );
> 
> What I want is that the Primary Key (Only Key) be type_id, and int, and
> the first item that I insert should have type_id as '1', next will be
> '2'  etc..
> I could have every insert into this table include a type_id, but that
> seems unessary.
> Can I have something like default='nextval' ?
   CREATE SEQUENCE serial START 101;

   CREATE TABLE distributors (
          did      DECIMAL(03) DEFAULT NEXTVAL('serial'),
	  name     VARCHAR(40)
	  );

    -- Use sequence in insert:
    --
    INSERT INTO distributors VALUES (NEXTVAL('serial'));
                                                            Jose'