Restricción única condicional con múltiples campos en oracle db
Tengo esta mesa:
XPTO_TABLE (id, obj_x, date_x, type_x, status_x)
Quiero crear una restricción única que se aplique a los campos(obj_x, date_x, type_x)
sólo cuandostatus_x <> 5
.
He intentado crear este pero Oracle dice:
line 1: ORA-00907: missing right parenthesis
CREATE UNIQUE INDEX UN_OBJ_DT_TYPE_STATUS
ON XPTO_TABLE(
(CASE
WHEN STATUS_X <> 5
THEN
(OBJ_X,
TO_CHAR (DATE_X, 'dd/MM/yyyy'),
TYPE_X)
ELSE
NULL
END));
¿Cuál es la sintaxis correcta?