sql >> Databáze >  >> RDS >> Oracle

Jak mohu znovu použít mezery v sekvencích Oracle ve sloupci primárního klíče?

Myslíte, vrátí sekvence někdy hodnotu, která je v rozsahu "mezery"? Myslím, že ne, pokud to z nějakého důvodu nezahodíte/znovu nevytvoříte. Myslím, že byste mohli napsat nějakou funkci, která by našla mezery PK ve vaší tabulce, pak tyto rozsahy mezer uložila do jiné tabulky a „přetočila“ svou vlastní sekvenční funkci pomocí tabulky mezer. Velmi ošklivý. Pokus o „obnovení“ těchto mezer zní jako zoufalý pokus vyhnout se nevyhnutelnému – váš datový typ java PK by měl být v souladu s datovým typem DB. Měl jsem před dlouhou dobou stejný problém s aplikací VB, která měla klíč třídy definovaný jako 16bitové celé číslo a sekvence přesáhla 32 kB, musela změnit proměnné na Long. Říkám, kousněte se do toho a proveďte konverzi. Trochu bolesti teď, ušetří vám spoustu trvající bolesti později. Jen můj názor.



  1. Jak povolit SSL v PostgreSQL

  2. získat sledující twitter jako pomocí MySQL

  3. chyba:Ověření identity uživatele selhalo

  4. 2 způsoby, jak vrátit řádky, které obsahují pouze nealfanumerické znaky v Oracle