Oracle
 sql >> Database >  >> RDS >> Oracle

Come creare un indice univoco su campi con possibili valori nulli (Oracle 11g)?

Vuoi applicare l'univocità solo alle righe in cui entrambi sono UNIQUE_VALUE e UNIQUE_GROUP_ID non sono nulli. Per fare ciò, puoi utilizzare un indice basato su funzioni univoco:

CREATE UNIQUE INDEX func_based_index ON the_table
  (CASE WHEN unique_value IS NOT NULL
         AND unique_group_id IS NOT NULL
        THEN UNIQUE_VALUE || ',' || UNIQUE_GROUP_ID
   END);