In 10g you can use the following objects: a Table, a Sequence and a before-insert row-level Trigger:
- Table T1 with a numeric column (that simulates the auto-incremental behavior)
- Sequence SEQ_T1_ID1 (to use for the number generation)
- Trigger TRG_T1_ID1 (that populates your column automatically)
Obviously you need the CREATE TABLE, CREATE SEQUENCE and CREATE TRIGGER privileges, and some quotas (maybe unlimited) on the Tablespace.
CREATE TABLE T1
(ID1 NUMBER,
TNAME VARCHAR2(128));
CREATE SEQUENCE SEQ_T1_ID1;
CREATE OR REPLACE TRIGGER TRG_T1_ID1
BEFORE INSERT ON T1
FOR EACH ROW
BEGIN
SELECT SEQ_T1_ID1.NEXTVAL
INTO :NEW.ID1
FROM DUAL;
END;
/