Powiedzmy, że twoja tabela nazywa się t1
a twój klucz podstawowy nazywa się id
Najpierw utwórz sekwencję:
create sequence t1_seq start with 1 increment by 1 nomaxvalue;
Następnie utwórz wyzwalacz, który zwiększa się po wstawieniu:
create trigger t1_trigger
before insert on t1
for each row
begin
select t1_seq.nextval into :new.id from dual;
end;