PostgreSQLで、insert 時に毎回nextval()を使うのではなく、create table時にdefaultでnextval()を定義しておく方が効率的である。
insert 時に明示的にnextval()を使う:
create sequence auto_num;
create table dummy (seq_no integer primary key, name varchar(20));
insert into dummy (seq_no,name) values (nextval('auto_num'),'abc');
insert into dummy (seq_no,name) values (nextval('auto_num'),'123');
create table時にdefaultでnextval()を定義:
create sequence auto_num;
create table dummy (
seq_no integer default nextval('auto_num') primary key,
name varchar(20)
);
insert into dummy (name) values ('abc');
insert into dummy (name) values ('123');