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

Oracle sẽ khóa toàn bộ bảng trong khi thực hiện một câu lệnh DML hay chỉ một hàng

Chúng ta có thể đưa ra các khóa một cách rõ ràng bằng lệnh LOCK TABLE. Tìm hiểu thêm

Nếu không, một chèn không khóa bất kỳ hàng nào khác. Do mô hình cách ly đọc của Oracle mà hàng chỉ tồn tại trong phiên của chúng tôi cho đến khi chúng tôi cam kết nó, vì vậy không ai khác có thể làm bất cứ điều gì với nó. Tìm hiểu thêm .

Một tuyên bố cập nhật chỉ khóa các hàng bị ảnh hưởng. Trừ khi chúng tôi đã thực hiện chiến lược khóa bi quan với CHỌN ... CHO CẬP NHẬT. Tìm hiểu thêm .

Cuối cùng, trong Oracle người viết không chặn người đọc. Vì vậy, ngay cả các hàng bị khóa cũng có thể được đọc bởi các phiên khác, chỉ không thể thay đổi chúng. Tìm hiểu thêm .

Hành vi này được đưa vào nhân Oracle và không thể định cấu hình.

Justin nói rõ về khóa DDL cấp bảng. Khóa đó sẽ khiến một phiên thực thi DDL trên bảng đợi cho đến khi phiên DML cam kết, trừ khi DDL là một cái gì đó giống như CREATE INDEX, trong trường hợp đó nó sẽ thất bại ngay lập tức với ORA-00054.



  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 PLS-00363:không thể sử dụng biểu thức '' làm mục tiêu gán

  2. Chuỗi kết nối Oracle cho Môi trường RAC?

  3. Truy vấn FIFO SQL với nhóm theo

  4. Xóa các tệp khỏi một thư mục trong quy trình được lưu trữ oracle

  5. Nhận giá trị tiếp theo từ chuỗi với chế độ ngủ đông mùa xuân