create trigger a_tri
before insert or update or delete on a
for each row
declare
v_id varchar2(20);
begin
select min(id) into v_id from a where (lead(id,1,0) over(order by rownum)-id)>1;
if inserting then
select v_id into :new.id from dual;
end if;
end;
/