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

Sekvence bez mezer, kde je zapojeno více transakcí s více tabulkami

Jak jste již mohli dospět k závěru, sekvence bez mezer se jednoduše neškálují. Buď riskujete vypuštění hodnot, když dojde k vrácení zpět, nebo máte serializační bod, který zabrání škálování víceuživatelského, souběžného transakčního systému. Nemůžete mít obojí.

Moje myšlenka by byla, co akce po zpracování, kde každý den máte proces, který běží na konci práce, kontroluje mezery a přečísluje vše, co je třeba přečíslovat?

Jedna poslední myšlenka:Neznám váš požadavek, ale vím, že jste řekl, že je to „požadováno zákonem“. No, zeptejte se sami sebe, co lidé dělali, než existovaly počítače? Jak by byl tento „požadavek“ splněn? Za předpokladu, že máte hromadu prázdných formulářů, které jsou předtištěny s "sekvenčním" číslem v pravém horním rohu? A co se stane, když někdo na ten formulář vylije kávu? Jak se to řešilo? Zdá se, že potřebujete podobnou metodu, abyste to zvládli ve svém systému.

Doufám, že to pomůže.



  1. Znovu použít řádky v tabulce mysql bez automatického zvyšování

  2. Chyba ve vnořeném poddotazu v DQL:Třída '(' není definována

  3. Podporuje MySQL uživatelsky definované datové typy?

  4. připojení k databázi php singleton, je tento kód špatný postup?