Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Restrição exclusiva do Oracle com base no valor da coluna


Você pode criar um índice exclusivo baseado em função
CREATE UNIQUE INDEX idx_dup_active
    ON <<table name>>( CASE WHEN is_active = 1
                            THEN question_no
                            ELSE NULL
                        END );

Isso tira vantagem do fato de que os índices Oracle b-tree não armazenam dados onde os dados do bloco folha seriam inteiramente NULL.