Pessoal,
Estou com a seguinte situação:
Algum safado incluiu manualmente no banco uma empresa e alterou a numeração do id do campo cd empresa de 33846 para 627565 perdendo 593719 posições. Gostaria de saber se existe uma forma de resgatar essas posições perdidas, eu ensaiei uma situação colocando uma condição na procedure, mas o chefe não aceito ele não quer que use uma condição (IF), ele não me disse como mas ele disse sobre o conceito de random para ele buscar o numero que ainda não existe na tabela e adicionar +1. Segue abaixo o que fiz e foi rejeitado...dava certo mas não querem o IF.
SELECT NVL(MAX(cd_empresa), 0) + 1
INTO codigo_empresa
FROM TBOD_EMPRESA_PROPOSTA
WHERE cd_empresa < 10;
IF (codigo_empresa = 10) THEN
SELECT NVL(MAX(cd_empresa), 0) + 1
INTO codigo_empresa
FROM TBOD_EMPRESA_PROPOSTA;
END IF;
codRetorno := codigo_empresa;
Obrigado pela atenção...