sql >> Base de Datos >  >> RDS >> Oracle

Restricción única de Oracle basada en el valor de la columna

Puede crear un índice único basado en funciones

CREATE UNIQUE INDEX idx_dup_active
    ON <<table name>>( CASE WHEN is_active = 1
                            THEN question_no
                            ELSE NULL
                        END );

Esto aprovecha el hecho de que los índices de Oracle b-tree no almacenan datos donde los datos del bloque hoja serían completamente NULL.