Oracle kennt keinen autoincrement primary key, muß man also selber machen. Dafür gibt es das Konstrukt sequence (-> Handbuch CREATE SEQUENCE …).
Beipiel:
create table xxx (id number);
create sequence seq_xxx;
insert into xxx values (seq_xxx.nextval);
seq_xxx generiert eindeutige, fortlaufende Ids.
Mit .nextval bekommt man die nächste Id.
Mit .currval bekommt man die zuletzt vergebene Id.
Wichtig: xxx und seq_xxx hängen Oracle-intern nicht zusammen! Wenn du seq_xxx löscht und neu anlegst, dann werden die Ids wieder mit 1 beginnend erzeugt!
Man kann das ganze auch in einen insert-Trigger verpacken, der eindeutige Ids sicherstellt, so dass auch folgendes insert-statement funktioniert:
insert into xxx values (null);