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

Làm thế nào để xử lý việc chèn đồng thời vào DB gây ra vi phạm quy tắc cho các bản ghi trong cơ sở dữ liệu?

Vấn đề bạn đang mô tả có tên là Viết Skew.

Về nguyên tắc, tính năng cô lập giao dịch SERIALIZEABLE sẽ giải quyết vấn đề này, nhưng không có trong Oracle DB . Oracle chỉ cung cấp tính năng cô lập ảnh chụp nhanh, ngay cả khi bạn yêu cầu SERIALIZABLE.

Trong Oracle, giải pháp đáng tin cậy duy nhất là sử dụng một số loại khóa. Điều này không nhất thiết phải là một khóa trên một hàng trong bảng, bạn cũng có thể sử dụng khóa tư vấn qua DBMS_LOCK cho điều đó.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL / SQL:ORA-00904:định danh không hợp lệ &PL / SQL:Tuyên bố bị bỏ qua &PLS-00364:sử dụng biến chỉ mục vòng lặp không hợp lệ

  2. Chính xác thì dấu ngoặc kép xung quanh tên bảng làm gì?

  3. xác thực trên các trường email / mã bưu điện trong sql / oracle

  4. cách chuyển biến từ shell script sang sqlplus

  5. Sự khác biệt giữa mệnh đề WITH và truy vấn con?