Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak mogę użyć FOR UPDATE z JOIN w Oracle?

spróbuj:

select ..... 
from <choose your table>
where id in (<your join query here>) for UPDATE;

EDYTUJ :może się to wydawać nieco sprzeczne z intuicją, biorąc pod uwagę pytanie, do którego się połączyłeś (które pytało, jak obejść się bez IN ), ale nadal może przynosić korzyści, jeśli przyłączenie zwraca zestaw z ograniczeniami. Jednak nie ma obejścia:wyjątek wyroczni jest dość oczywisty; Oracle nie wie, które wiersze zablokować z powodu DISTINCT . Możesz pominąć DISTINCT lub zdefiniuj wszystko w widoku, a następnie zaktualizuj to, jeśli chcesz, bez wyraźnej blokady: http://www.dba-oracle.com/t_ora_02014_cannot_select_for_update.htm



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle, Połącz według numeru wiersza

  2. Alternatywa LITAGG w Oracle 10g

  3. Wyszukiwanie LDAP przy użyciu ODP.NET, zarządzany sterownik Beta (Oracle.ManagedDataAccess.dll) kończy się niepowodzeniem w aplikacji C#

  4. Błąd Oracle SQL:brak parametru IN lub OUT w indeksie::1

  5. customer.pk_name dołączanie do transakcji.fk_name vs. customer.pk_id [serial] dołączanie do transakcji.fk_id [liczba całkowita]