Maxim Boguk, спасибо, поутру разобрался, может пригодится:
create table tab1 (id INTEGER, name VARCHAR(10) );
CREATE SEQUENCE seq_test INCREMENT 1 START 1;
create table tab2 (id INTEGER, name VARCHAR(10) );
insert into tab1 ( id, name ) (select nextval('seq_test'), 'name1');
insert into tab1 ( id, name ) (select nextval('seq_test'), 'name2');
insert into tab1 ( id, name ) (select nextval('seq_test'), 'name3');
select * from tab1;
сначала так (работает правильно)
insert into tab2 ( id, name ) (select nextval('seq_test'), name from tab1 );
потом так (работает не правильно)
insert into tab2 ( id, name ) (select (select nextval('seq_test')), name from tab1 );
итого
select * from tab2;
id name
4 name1
5 name2
6 name3
7 name1
7 name2
7 name3