Re: Insert zero to auto increment serial column
От | Albe Laurenz |
---|---|
Тема | Re: Insert zero to auto increment serial column |
Дата | |
Msg-id | A737B7A37273E048B164557ADEF4A58B17CEA94F@ntex2010i.host.magwien.gv.at обсуждение исходный текст |
Ответ на | Insert zero to auto increment serial column (loc <c320sky@gmail.com>) |
Список | pgsql-general |
loc wrote: > I'm currently using an Informix Innovator-C database with Aubit4GL and I would like to migrate to > PostgreSQL, it looks like the transition will not be too difficult, however there is one feature that > I would like added to PostgreSQL. Where is the best place to request a feature add? With Informix > inserting a 0 into a serial column will auto increment the serial value, MySQL also works this way. > With PostgreSQL I will need to do a lot of code modification to my Aubit4GL programs, since I will > need to either insert with the key word default or omit the serial column in the insert statement. A > typical insert with Aubit4GL looks like this: > > create table table_name (link serial, col2 integer, col3 integer ....) > define var_rec record like table_name.* > let table_name.link = 0 > insert into table_name values(var_rec.*) > > > As you can see, with Informix the serial column is set to 0 before the insert, with PostgreSQL I will > need to list all the columns and will not be able to use the wildcard syntax, which supplies all the > column names to the insert. Setting the serial column to null to auto increment would also work for > me. If you don't want to modify your code, you could write a FOR EACH ROW BEFORE INSERT trigger for the table that pulls the next value from the sequence if you insert 0. I don't think that there is any chance that PostgreSQL's behaviour in this case will be modified - first, the current behaviour is fine, and second, such a change will break existing applications. Yours, Laurenz Albe
В списке pgsql-general по дате отправления: