Une solution ...
 
Soit table T(chp_compteur, chp1,chp2,...)
 
Tu créés une SEQUENCE (objet Oracle) pour chaque table :  
 
CREATE SEQUENCE ma_sequence START WITH 0
 
 
et lors de l'insert tu initialises :
Insert into T (chp_compteur, chp1,chp2,...) values  
(ma_sequence.nextval,"x",'y", ...)  
 
select ma_sequence.currval from dual; donne 1 après l'insert