sql >> Databasteknik >  >> RDS >> Oracle

Hur skapar man ett unikt index på fält med möjliga nollvärden (Oracle 11g)?

Du vill endast framtvinga unikhet på raderna där både UNIQUE_VALUE och UNIQUE_GROUP_ID är inte null. För att göra detta kan du använda ett unikt funktionsbaserat index:

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);


  1. Hur man multiplicerar två kolumner i SQL

  2. Index för att hitta ett element i en JSON-array

  3. Datatyp krävs i en mysql för ett datum som innehåller dag-månad-år

  4. Från bas 10 till bas 26 endast med bokstäver så att 26 blir aa