Oracle
 sql >> база данни >  >> RDS >> Oracle

Как мога да използвам FOR UPDATE с JOIN на Oracle?

опитайте:

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

РЕДАКТИРАНЕ :това може да изглежда малко неинтуитивно, като се има предвид въпросът, към който сте се свързали (който пита как да се откажете от IN ), но все пак може да осигури полза, ако вашето присъединяване върне ограничен набор. Въпреки това, няма заобиколно решение:изключението от оракул е доста очевидно; оракул не знае кои редове да заключи поради DISTINCT . Можете или да пропуснете DISTINCT или дефинирайте всичко в изглед и след това го актуализирайте, ако желаете, без изричното заключване: 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

  2. Използването на distinct в колона и изпълнението на order by в друга колона дава грешка

  3. Как да преименувате колона на таблица в Oracle 10g

  4. Как мога да преброя само NULL стойности в Oracle/PLSQL?

  5. как да изчисля сумарно време с тип данни char в oracle