Oracle
 sql >> Database >  >> RDS >> Oracle

Sequenza senza interruzioni in cui sono coinvolte più transazioni con più tabelle

Come hai già sembrato concludere, le sequenze gapless semplicemente non sono scalabili. O si corre il rischio di eliminare i valori quando si verifica un rollback oppure si dispone di un punto di serializzazione che impedirà il ridimensionamento di un sistema di transazioni simultanee multiutente. Non puoi avere entrambi.

Il mio pensiero sarebbe, che ne dici di un'azione di post-elaborazione, in cui ogni giorno hai un processo che viene eseguito alla chiusura dell'attività, controlla le lacune e rinumera tutto ciò che deve essere rinumerato?

Un ultimo pensiero:non conosco la tua esigenza, ma so che hai detto che è "richiesto dalla legge". Bene, chiediti, cosa facevano le persone prima che esistessero i computer? Come verrebbe soddisfatto questo "requisito"? Supponendo che tu abbia una pila di moduli vuoti che vengono prestampati con un numero di "sequenza" nell'angolo in alto a destra? E cosa succede se qualcuno versa il caffè su quel modulo? Come è stato gestito? Sembra che tu abbia bisogno di un metodo simile per gestirlo nel tuo sistema.

Spero di esserti stato d'aiuto.