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

Hvordan kan jeg låse en enkelt række i Oracle SQL

Du kan låse posten som beskrevet i andre svar, men du vil ikke se nogen undtagelse mens du opdaterer denne række.

UPDATE erklæring vil vente, indtil låsen frigives , dvs. sessionen med SELECT ... FOR UPDATE forpligter sig. Derefter udføres OPDATERING.

Den eneste undtagelse, du kan administrere, er DEADLOCK, dvs.

Session1   SELECT FOR UPDATE record A
Session2   SELECT FOR UPDATE record B
Session1   UPDATE record B  --- wait as record locked
Session2   UPDATE record A  --- deadlock as 1 is waiting on 2 and 2 waiting on 1


  1. REGEX for at vælge den n'te værdi fra en liste, hvilket giver mulighed for nuller

  2. H2 opdatering med join

  3. Forsøger at få INSERT til kun at indsætte nye data

  4. MySQL-udvælgede felter, der indeholder førende eller efterfølgende mellemrum