Искате да наложите уникалност само на редовете, където и двете UNIQUE_VALUE
и UNIQUE_GROUP_ID
не са нулеви. За да направите това, можете да използвате уникален функционален индекс:
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);