sql >> Databasteknik >  >> RDS >> Oracle

Hur återanvänder jag Oracle-sekvensluckor i primärnyckelkolumnen?

Menar du, kommer sekvensen någonsin att returnera ett värde som ligger i ett "gap"-intervall? Jag tror inte det, om du inte släpper/återskapar det av någon anledning. Jag antar att du kan skriva en funktion av något slag för att hitta PK-luckor i din tabell, sedan spara dessa gapintervall till en annan tabell och "rulla" din egen sekvensfunktion med hjälp av gaptabellen. Väldigt ful. Att försöka "återställa" dessa luckor låter bara som ett desperat försök att undvika det oundvikliga - din Java PK-datatyp borde ha anpassats till DB-datatypen. Jag hade samma problem för länge sedan med en VB-app som hade en klassnyckel definierad som 16-bitars heltal, och sekvensen översteg 32K, var tvungen att ändra variablerna till en Long. Jag säger, bita ihop och gör omställningen. Lite smärta nu, kommer att spara mycket pågående smärta senare. Bara min åsikt.



  1. Kombinera data från två olika korsningstabeller

  2. Bli av med att använda tillfälliga; Använder filsortering

  3. SUM-radgrupp efter namn med hjälp av pdo

  4. Hur man får en lista över tabeller utan primärnyckelbegränsning i alla databaser av SQL Server-instanser - SQL Server / TSQL Tutorial Del 62