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

novalidate với lỗi hoặc-02299

Nếu tôi hiểu chính xác, bạn mong rằng Oracle sẽ bỏ qua các giá trị cũ trùng lặp và chỉ cho phép các giá trị mới khi chúng thỏa mãn ràng buộc. Lỗi được trả về vì khi bạn thêm UNIQUE ràng buộc, Oracle tạo chỉ mục duy nhất trên cột để kiểm tra các giá trị, nhưng bảng của bạn đã có các giá trị trùng lặp, vì vậy nó không thành công. Tôi sẽ tạo chỉ mục không duy nhất trước, sau đó thêm ràng buộc để nó sử dụng chỉ mục không phải duy nhất hiện có của bạn thay vì tự động tạo chỉ mục duy nhất sẽ không thành công:

create index arc_ix on arc (name);

alter table arc add constraint arc_uq unique (name) enable novalidate;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách lấy một phần của chuỗi khớp với biểu thức chính quy trong Oracle SQL

  2. Trình điều khiển ODP.NET được quản lý không hiển thị trong hộp thoại Nguồn dữ liệu

  3. Sử dụng Dapper QueryMultiple trong Oracle

  4. Muốn chuyển từ định dạng ký tự sang định dạng số với hệ thập phân

  5. Oracle - Cách buộc người dùng CHÈN nhiều hàng