Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để sử dụng FOR UPDATE với một JOIN trên Oracle?

thử:

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

CHỈNH SỬA :điều đó có vẻ hơi phản trực giác khi nghĩ đến câu hỏi bạn đã liên kết đến (hỏi cách phân phối với IN ), nhưng vẫn có thể mang lại lợi ích nếu tham gia của bạn trả về một tập hợp bị hạn chế. Tuy nhiên, không có cách giải quyết nào:ngoại lệ oracle khá dễ hiểu; oracle không biết hàng nào để khóa becasue của DISTINCT . Bạn có thể bỏ đi DISTINCT hoặc xác định mọi thứ trong một chế độ xem và sau đó cập nhật, nếu bạn muốn, mà không có khóa rõ ràng: 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. Sử dụng từ khóa DISTINCT gây ra lỗi này:không phải là biểu thức được CHỌN

  2. Cách xuất kết quả truy vấn Oracle sang tệp JSON khi sử dụng SQLcl

  3. Không thể tìm thấy tham số bảng v $ trong Oracle

  4. Tự động thêm các bản ghi có giá trị bằng 0 cho các AP tiếp theo để chức năng phân tích hoạt động

  5. Hàm LISTAGG:kết quả của việc nối chuỗi quá dài