Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como reutilizo as lacunas de sequência do Oracle na coluna de chave primária?


Você quer dizer que a sequência retornará um valor que está em um intervalo de "lacuna"? Eu acho que não, a menos que você largue/recrie por algum motivo. Acho que você poderia escrever uma função de algum tipo para encontrar as lacunas de PK em sua tabela, depois salvar esses intervalos de lacunas em outra tabela e "rolar" sua própria função de sequência usando a tabela de lacunas. Muito feio. Tentar "recuperar" essas lacunas soa como uma tentativa desesperada de evitar o inevitável - seu tipo de dados java PK deve estar alinhado com o tipo de dados DB. Eu tive o mesmo problema há muito tempo com um aplicativo VB que tinha uma chave de classe definida como inteiro de 16 bits, e a sequência excedia 32K, tive que alterar as variáveis ​​para um Long. Eu digo, morda a bala e faça a conversão. Um pouco de dor agora, vai lhe poupar muita dor contínua mais tarde. Apenas minha opinião.