CREATE SEQUENCE [tablename]_SEQ
START WITH 1
MAXVALUE 9999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER;
CREATE OR REPLACE TRIGGER [tablename]_trigger
BEFORE INSERT ON [tablename]
FOR EACH ROW
BEGIN
SELECT [tablename]_SEQ.NEXTVAL INTO :NEW.[primarykey] FROM DUAL;
END;