Oracle | PL/SQL sets auto-increment of primary keys. Oracle does not set auto-increment of primary keys. You need to set the sequence and trigger to auto-increment of primary keys. Example: create a table menu: [SQL] create table menu (menuId number (10) not null primary key, name varchar2 (40) not null, id_parent number (10) not null, url varchar2 (300) null); create sequence menu_autoinc_seq: [SQL] create sequence menu_autoinc_seq minvalue 1 maxvalue 99999999 start with 1 increment by 1 nocycle nocache order; create trigger menu_autoinc_tg: [SQL] create or replace trigger menu_autoinc_tg before insert on menu for each row begin select menu_autoinc_seq.nextval into: new. menuId from dual; end menu_autoinc_tg; the end statement can be written as end; if multiple rows of statements are used when creating database objects in Command window, enter/test another line after the end: [SQL] insert into menu values ('', 'personal transactions ', 0, 'indi. php '); insert into menu values ('', 'public transactions', 0, 'public. php ');