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

Jak mohu zamknout jeden řádek v Oracle SQL

Záznam můžete uzamknout, jak je popsáno v jiných odpovědích, ale neuvidíte žádnou výjimku při AKTUALIZACI tohoto řádku.

UPDATE výpis bude čekat, dokud nebude zámek uvolněn , tj. relace s SELECT ... FOR UPDATE zavazuje. Poté bude provedena AKTUALIZACE.

Jediná výjimka, kterou můžete spravovat, je DEADLOCK, tj.

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. Robustní přístup pro vytváření SQL dotazů programově

  2. Nedefinovaná konstanta třídy 'MYSQL_ATTR_INIT_COMMAND' v nedefinované konstantě třídy (PHP 5.5.3)

  3. Odstranění duplicitních řádků v databázi MySQL

  4. Spousta dotazů SHOW TRANSACTION ISOLATION LEVEL v postgresu