From: | "Nikolay Mijaylov" <nmmm(at)nsi(dot)bg> |
---|---|
To: | <pgsql-sql(at)hub(dot)org> |
Subject: | Re: [SQL] automatic incrementation |
Date: | 1999-06-09 15:40:05 |
Message-ID: | 001001beb28e$5bcfd580$ce2a18c3@skillbrokers.bg |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
----- Original Message -----
From: José Soares <jose(at)sferacarta(dot)com>
To: Nuchanard Chiannilkulchai <nuch(at)valigene(dot)com>
Cc: <pgsql-sql(at)hub(dot)org>
Sent: 09 Þíè 1999 ã. 16:15
Subject: Re: [SQL] automatic incrementation
>
>
> Nuchanard Chiannilkulchai ha scritto:
>
> > hello,
> >
> > I have a table with the field 'id' which i would like to increment at
> > each insert automatically.
> > The idea is to create a function which determines the max(id) and then a
> > rule to insert instead
> > the real insertion instruction, with the next id value.
> >
> > -- table
> > create table toto (
> > id int4 primary key,
> > project char(8) not null,
> > comments text
> > );
> > insert into toto values (1,'PTest','ndfjSHJG');
> > insert into toto values (2,'PTest','ndfjSHJG');
> > insert into toto values (3,'PTest','ndfjSHJG');
> >
> > -- function
> > create function nextid(toto) returns int4
> > as ' select max($1.id)+1 as id ; '
> > language 'sql';
> >
> > **** ERROR: type id lookup of 12 failed
> > This is my first problem
> >
> > -- rule
> > create rule r_id as on insert to toto
> > do instead
> > insert into toto (id, project, comments) values (nextid(),
> > new.project, new.comments);
> >
> > **** The next problem may be the rule writing !!!
> > I would like to have , even some other suggestions to make it works.
> > I can't use a sequence table because I've already one in the database.
> >
> > Thanks,
> > Nuch
>
> What about a SERIAL data type ?
>
> create table toto (
> id SERIAL,
> project char(8) not null,
> comments text);
>
> --
> ______________________________________________________________
> PostgreSQL 6.5.0 on i586-pc-linux-gnu, compiled by gcc 2.7.2.3
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Jose'
>
>
What about sequence???
i use some alike...
create sequence toto_seq(.....);
create table toto (
id integer primary key default nextval("toto_seq"),
project char(8) not null,
comments text
);
insert into toto(project, comments) values ('PTest','ndfjSHJG');
(may be there are SQL errors, but they are syntax only:))))
Niki
From | Date | Subject | |
---|---|---|---|
Next Message | Sergey S. Rakitin | 1999-06-09 15:45:17 | fields with float[48] type question |
Previous Message | Tom Lane | 1999-06-09 14:43:36 | Re: [SQL] Select like when searching for whole word and optimizing it |