Re: [SQL] automatic incrementation
От | José Soares |
---|---|
Тема | Re: [SQL] automatic incrementation |
Дата | |
Msg-id | 375E6904.12A6A039@sferacarta.com обсуждение исходный текст |
Ответ на | automatic incrementation (Nuchanard Chiannilkulchai <nuch@valigene.com>) |
Список | pgsql-sql |
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'
В списке pgsql-sql по дате отправления: