Вы должны использовать вместо SEQUENCE
. Таблица «Number» является изначально плохой идеей, потому что, когда два сеанса вставляют строки одновременно, каждый сеанс видит только незафиксированное значение в таблице Number.
Это то, что вы должны сделать вместо:
create sequence entrySeq;
create table Entry(id number(3), name varchar(50));
create trigger tr_entry before insert on Entry for each row
begin
select entrySeq.nextval into :new.number from dual;
end;
/