You may use Oracle Sequence to get unique primary key.

CREATE SEQUENCE UNIQUENUM START WITH 100000 INCREMENT BY 1 NOCACHE

Then, you can use

SELECT UNIQUENUM.NextVal from Dual to get latest sequence no

or

INSERT INTO SAMPLE_TABLE (ID, D1, D2) VALUES (UniqueNum.NextVal, 'DATA', 'DATAB');