Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да използвам повторно пропуските в последователността на Oracle в колоната с първичен ключ?

Искате да кажете, че последователността някога ще върне стойност, която е в диапазон "пропуск"? Не мисля така, освен ако не го изпуснете/създадете отново по някаква причина. Предполагам, че бихте могли да напишете функция от някакъв вид, за да намерите PK празнините във вашата таблица, след това да запазите тези диапазони на празнини в друга таблица и да "превъртите" собствената си функция за последователност, като използвате таблицата с празнини. Много грозен. Опитът да се "възстановят" тези пропуски просто звучи като отчаян опит да се избегне неизбежното - вашият тип данни на Java PK трябва да е съгласуван с типа данни на DB. Имах същия проблем преди много време с VB приложение, което имаше класов ключ, дефиниран като 16-битово цяло число, и последователността надвишаваше 32K, трябваше да променя променливите на Long. Казвам, ухапете куршума и направете преобразуването. Малко болка сега ще ви спести много продължаваща болка по-късно. Само мое мнение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL:Как да използвате повече от 1000 елемента в клауза IN

  2. Oracle deadlock родител/дете и дете е индексирало FK

  3. Разделяне на низ по позиция на разделител с помощта на Oracle SQL

  4. Използване на вложени транзакции в oracle

  5. INSERT Производителност - Bitmap срещу B-Tree