2011-10-27 14 views
7

¿Puedo agregar una restricción de verificación que asegure que todos los valores sean únicos, pero que permitan duplicados de un valor predeterminado?Restricción de Oracle

Respuesta

11

Esto se puede conseguir usando un índice basado en funcction (FBI):

create unique index idx on my_table (case when col != 'DEFAULT' then col end)); 

que crea un índice único en todos los valores excepto 'por defecto'.

+0

Este es el enfoque correcto, solo tenga en cuenta que debe otorgar reescritura de consultas para que funcionen los FBI. – phil

+2

El requisito para la reescritura de consultas no ha existido desde 8i. –

+0

Tiene toda la razón, no tengo idea de por qué ese pensamiento se quedó conmigo todo este tiempo. Vive y aprende – phil

Cuestiones relacionadas