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

Hvordan håndteres samtidige indsættelser i DB, der forårsager overtrædelse af en regel for posterne i databasen?

Problemet du beskriver hedder Skriv skævt.

I princippet tager SERIELIZEABLE transaktionsisolering sig af dette, men ikke i Oracle DB . Oracle giver kun snapshot-isolering, selv når du beder om SERIALIZABLE.

I Oracle er stort set den eneste pålidelige løsning at bruge en form for låsning. Dette behøver ikke nødvendigvis at være en lås på en tabelrække, du kan også bruge rådgivende låse via DBMS_LOCK til det.




  1. Kan et tal bruges til at navngive en MySQL-tabelkolonne?

  2. Hvordan kontrollerer man, om en given data findes i flere tabeller (som alle har den samme kolonne)?

  3. UNIX_TIMESTAMP() Eksempler – MySQL

  4. Bedste måde med relationstabeller