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