Du ønsker kun at gennemtvinge unikhed på rækkerne, hvor både UNIQUE_VALUE
og UNIQUE_GROUP_ID
er ikke nul. For at gøre dette kan du bruge et unikt funktionsbaseret indeks:
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);