ORACLE - Ajuda com Auto Incrementador

Boa noite!

No ORACLE criei uma sequencia e uma Triggers que é disparada sempre ao cadastrar um cliente.

   CREATE SEQUENCE  XXX_XXX.SEQ_CLIENTE  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 NOCACHE  NOORDER  NOCYCLE ;

Triggers

create or replace TRIGGER INC_CLIENTE BEFORE INSERT ON CLIENTE FOR EACH ROW BEGIN SELECT SEQ_CLIENTE.NEXTVAL INTO :NEW.PK_CLIENTE FROM DUAL; END;

mas digamos que eu cadastre 2 clientes, e exclua esses dois, quando eu cadastrar o terceiro o sistema grava o cliente como o cliente 3.
Alguem pode me ajudar?

E vc queria que ele gravasse como cliente 1?

Exatamente!

Olha só, se vc definiu na trigger que a tabela deve usar auto incremento, acho que vc deve alterar a lógica, pois o banco ta fazendo o que vc pediu.
Talvez se vc criasse uma trigger que ao invés de realizar o autoincremento, capturasse o último registro inserido fazendo com que vc incrementasse +1 na hora da inserção.

Uma coisa tome cuidado.

Manipular o Id da tabela na mao pode te causar algumas dores de cabeca.

A dica do amigo acima funcionara. Porem imagine o seguinte, no meio tempo que voce fez o select para pegar o ultimo alguem vai e add um novo registro.

Voce vai ter uma duplicidade de ID.

A sequence seria a melhor coisa para se usar.

Mas se o problema for duplicidade no acesso a tabela, isso não é o problema. Existe uma coisa chamada lock, onde a tabela não pode ser acessada por duas pessoas ao mesmo tempo.