Próbuję utworzyć unikalne ograniczenie na dwóch polach w tabeli. Istnieje jednak duże prawdopodobieństwo, że jedna będzie zerowa. Wymagam tylko, aby były one unikalne, jeśli oba nie są zerowe (name
nigdy nie będzie mieć wartości NULL).Jak utworzyć unikatowy indeks w Oracle, ale ignorować wartości null?
create unique index "name_and_email" on user(name, email);
Zignoruj semantykę nazw tabel i pól i czy ma to sens - po prostu wymyśliłem trochę.
Czy istnieje sposób utworzenia unikalnego ograniczenia na tych polach, które wymusi jednoznaczność dla dwóch wartości pustych, ale zignorować, jeśli istnieje wiele pozycji, w których name
ma wartość zerową, a email
ma wartość null?
To pytanie jest dla SQL Server, a mam nadzieję, że odpowiedź nie jest taka sama: How do I create a unique constraint that also allows nulls?
+1, FBI na ratunek ;-) Dzięki – DCookie
człowiek, skarbie! –