select nvl( (select min(rn) from( select rownum as rn, id from (select * from t_supplier_company_test t order by to_number(id)) ) where rn <> id), (select max(id) + 1 from t_supplier_company_test) ) from dual