Jak mogę utworzyć unikalny indeks w Oracle, ale zignorować wartości null?
Próbuję utworzyć unikalne ograniczenie na dwóch polach w tabeli. Istnieje jednak duże prawdopodobieństwo, że jedno będzie zerowe. Wymagam tylko, aby były unikalne, jeśli oba nie są zerowe (name
nigdy nie będzie null).
create unique index "name_and_email" on user(name, email);
Ignoruj semantykę nazw tabel i pól i czy to ma sens - właśnie coś wymyśliłem.
Czy istnieje sposób na utworzenie unikalnego ograniczenia w tych polach, które wymusi unikalność dla dwóch wartości nie będących wartościami null, ale zignoruje, jeśli istnieje wiele wpisów, w którychname
nie jest zerowy iemail
jest null?
To pytanie dotyczy SQL Server i mam nadzieję, że odpowiedź nie jest taka sama:Jak utworzyć unikalne ograniczenie, które pozwala również na wartości null?