Tengo que mantener el historial, por lo que estoy usando la columna is_deleted que puede tener 'Y' o 'N'. Pero para cualquier instancia de is_deleted 'N' debería haber ingresado uniwue para columnas compuestas (a, b, c).Oráculo: singularidad selectiva del índice basado en función
Cuando intento crear un índice único basado en función, recibo un error.
CREATE UNIQUE INDEX fn_unique_idx ON table1 (CASE WHEN is_deleted='N' then (id, name, type) end);
ERROR en la línea 1: ORA-00907 : falta paréntesis derecho
por favor ayuda.
Gracias
Pero mi caso de uso es cuando is_deleted = 'N', entonces combinación de (id, nombre, tipo) - la clave compuesta debe ser única. ¿Su consulta logrará lo mismo? –
@Andriod_enthusiast - Parece que sí. Actualicé mi respuesta con la prueba que ejecuté. –
muchas gracias. lo aprecio. Entonces, si no tengo conspiración nula en estas columnas, creo que puedo omitir ELSE nulo –