sql >> Database >  >> RDS >> Oracle

Een niet-unieke index wijzigen in een unieke index

U kunt een niet-unieke index niet omzetten in een unieke index.

(Het is moeilijk te zeggen wat niet kan. Ik baseer dit antwoord op het bekijken van de WIJZIG INDEX pagina van de SQL Language Reference, zoeken naar het woord UNIQUE en geen relevante hints vinden. Ik heb gekeken naar 11g in plaats van 10g, maar dat is in dit geval waarschijnlijk beter omdat er een paar functies zijn die in 10g bestaan, maar alleen zijn gedocumenteerd in 11g.)

U kunt echter een niet-unieke index gebruiken voor een unieke beperking. Maar er zijn enkele prestatieoverwegingen :een unieke index zou kleiner en sneller zijn.

create table my_table(a number);

create index my_table_index on my_table(a);

alter table my_table add constraint my_table_unique unique (a)
    using index my_table_index;


  1. Krijg n gegroepeerde categorieën en tel anderen op tot één

  2. Hoe maak je een schema in Oracle met SQL Developer?

  3. PHP-waarschuwing bij opstarten tijdens het laden van php_oci8.dll

  4. 5 manieren om het gegevenstype van een kolom in SQLite te controleren