7
Muszę zachować historię, dlatego używam kolumny is_deleted, która może mieć "Y" lub "N". Ale dla każdego wystąpienia is_deleted "N" powinienem mieć wpisu uniwue dla kolumn złożonych (a, b, c).Oracle: Indywidualna selektywność na podstawie indeksów funkcji
Kiedy próbuję utworzyć unikalny indeks oparty na funkcji, otrzymuję komunikat o błędzie.
CREATE UNIQUE INDEX fn_unique_idx ON table1 (CASE WHEN is_deleted='N' then (id, name, type) end);
BŁĄD w linii 1: ORA-00907 : brak nawiasie
Proszę o pomoc.
Dzięki
Ale moja USECASE jest gdy is_deleted = 'N' następnie połączenie (id, nazwa, typ) - klucz złożony powinien być niepowtarzalny. Czy Twoje zapytanie będzie takie samo? –
@Andriod_enthusiast - Z pewnością wydaje się. Zaktualizowałem swoją odpowiedź testem, który przeprowadziłem. –
wielkie dzięki. doceniam to. Tak więc, jeśli nie mam null consraint na tych kolumnach myślę, że mogę pominąć ELSE null –