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