In MySQL, you can specify a column as auto_increment, the value will increment 1 at each insert. SQL Server also provide similar thing. Oracle using SEQUENCE and NEXTVAL to do the job.

Create a SEQUENCE:

 
CREATE SEQUENCE emp_sequence ;
 
SEQUENCE created.
 
SELECT emp_sequence.NEXTVAL FROM dual;
 
   NEXTVAL
----------
         1
 
 
SELECT emp_sequence.NEXTVAL FROM dual;
 
   NEXTVAL
----------
         2
 

You can decide how SEQUENCE generate NEXTVAL by specify the other options:

 
CREATE SEQUENCE sequence_name
  MINVALUE VALUE
  MAXVALUE VALUE
  START WITH VALUE
  INCREMENT BY VALUE
  CACHE VALUE;
 

Uset SEQUENCE in insert statement:

 
 
INSERT INTO emp VALUES (emp_sequence.NEXTVAL, name, job, mgr,
         hiredate, sal, comm, deptno);
 

You can change SEQUENCE with ALTER SEQUENCE whenever need.