sql >> Databáze >  >> RDS >> Oracle

novalidate s chybou ora-02299

Pokud vám rozumím správně, očekáváte, že Oracle bude ignorovat staré duplicitní hodnoty a povolí nové hodnoty pouze v případě, že splňují omezení. Chyba je vrácena, protože když přidáte UNIQUE omezení, Oracle vytvoří jedinečný index ve sloupci pro kontrolu hodnot, ale vaše tabulka již má duplicitní hodnoty, takže selže. Nejprve bych vytvořil nejedinečný index a poté přidal omezení tak, aby používal váš stávající nejedinečný index namísto automatického vytváření jedinečného indexu, který by selhal:

create index arc_ix on arc (name);

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



  1. Získejte informace o zobrazení pomocí zobrazení informačního schématu VIEWS na serveru SQL Server

  2. dostal vícepoložkovou sekvenci

  3. Top 5 časově náročných SQL dotazů v Oracle

  4. Spouštěč aktualizace PostgreSQL