Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

tidak divalidasi dengan kesalahan ora-02299

Jika saya mengerti Anda dengan benar, Anda mengharapkan Oracle untuk mengabaikan nilai duplikat lama dan mengizinkan nilai baru hanya ketika mereka memenuhi batasan. Kesalahan dikembalikan karena ketika Anda menambahkan UNIQUE kendala, Oracle membuat indeks unik pada kolom untuk memeriksa nilai, tetapi tabel Anda sudah memiliki nilai duplikat, sehingga gagal. Saya akan membuat indeks non-unik terlebih dahulu, kemudian menambahkan batasan sehingga menggunakan indeks non-unik Anda yang ada alih-alih secara otomatis membuat indeks unik yang akan gagal:

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. Cari semua kolom, semua tabel untuk nilai tertentu

  2. Pengembang Oracle SQL - Cara Memulihkan Tabel yang Dijatuhkan

  3. Oracle :pilih nilai maksimum dari kolom yang berbeda dari baris yang sama

  4. Propagasi Transaksi Oracle Antara C++ dan Java

  5. Perlu menemukan hari kerja berikutnya dan sebelumnya di oracle