Use a sequence. Here's an example.
create sequence s ;
Sequence created.
create table t ( c number );
Table created.
insert into t values ( s.nextval );
1 row created.
insert into t values ( s.nextval );
1 row created.
insert into t values ( s.nextval );
1 row created.
insert into t values ( s.nextval );
1 row created.
select * from t;
C
----------
1
2
3
4
4 rows selected.
--
Joe Fuda
SQL Snippets: Tutorials for Oracle Developers