Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Sekwencja bez luk, w której zaangażowanych jest wiele transakcji z wieloma tabelami

Jak już zdajesz się wnioskować, sekwencje bez przerw po prostu nie skalują się. Albo istnieje ryzyko porzucenia wartości, gdy nastąpi wycofanie, albo masz punkt serializacji, który uniemożliwi skalowanie wieloużytkownikowego, współbieżnego systemu transakcyjnego. Nie możesz mieć obu.

Pomyślałabym, że co z akcją przetwarzania końcowego, w której każdego dnia masz proces, który działa pod koniec pracy, sprawdza luki i ponownie numeruje wszystko, co wymaga zmiany numeracji?

Ostatnia myśl:nie znam twoich wymagań, ale wiem, że powiedziałeś, że jest to „wymagane przez prawo”. Zadaj sobie pytanie, co robili ludzie, zanim pojawiły się komputery? Jak ten „wymóg” zostałby spełniony? Zakładając, że masz stos pustych formularzy, które mają wstępnie zadrukowany numer „kolejny” w prawym górnym rogu? A co się stanie, jeśli ktoś wyleje kawę na ten formularz? Jak to zostało potraktowane? Wygląda na to, że potrzebujesz podobnej metody, aby poradzić sobie z tym w swoim systemie.

Mam nadzieję, że to pomoże.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Maksymalny rozmiar PL/SQL VARRAY

  2. Jak odzyskać bazę danych za pomocą RMAN

  3. Typ powrotu kursora Oracle

  4. uruchom plik exe w wyzwalaczu Oracle

  5. ORA-30926:nie można uzyskać stabilnego zestawu wierszy w tabelach źródłowych podczas łączenia tabel