Możesz utworzyć unikalny indeks oparty na funkcjach
CREATE UNIQUE INDEX idx_dup_active
ON <<table name>>( CASE WHEN is_active = 1
THEN question_no
ELSE NULL
END );
Wykorzystuje to fakt, że indeksy Oracle b-tree nie przechowują danych, w których dane bloku liścia byłyby całkowicie NULL.