Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle Unique Constraint basé sur la valeur de la colonne

Vous pouvez créer un index unique basé sur une fonction

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

Cela profite du fait que les index Oracle b-tree ne stockent pas de données là où les données du bloc feuille seraient entièrement NULL.