sql >> Databáze >  >> RDS >> Oracle

Jak omezit databázovou tabulku tak, aby pouze jeden řádek mohl mít konkrétní hodnotu ve sloupci?

Použijte index založený na funkcích:

create unique index only_one_yes on mytable
(case when col='YES' then 'YES' end);

Oracle indexuje pouze klíče, které nejsou zcela null, a výraz CASE zde zajišťuje, že všechny hodnoty 'NO' budou změněny na null a nebudou tedy indexovány.



  1. Závažná chyba:jni.h:Žádný takový soubor nebo adresář při instalaci jPype

  2. Jak integrovat Apache Spark s MySQL pro čtení databázových tabulek jako datového rámce jiskry?

  3. Upravte kontrolní soubor v Oracle 10g Release 2

  4. Vrácená hodnota z příkazu SQL Server Insert pomocí c#