Tengo una tabla que define la regla entre dos variantes:En Oracle, ¿cómo os anuncio una restricción única durante un par de valores y es par inverso
CREATE TABLE VARIANTCOMBINATIONRULE
(
VARRECID0 NUMBER(10) NOT NULL,
VARRECID1 NUMBER(10) NOT NULL,
RULE NUMBER
);
ALTER TABLE VARIANTCOMBINATIONRULE ADD (
CONSTRAINT VARIANTCOMBINATIONRULE_PK
PRIMARY KEY
(VARRECID0, VARRECID1));
¿Cómo se crea una restricción que no permite " pares invertidos "? Con esto quiero decir que si hay un registro para las variantes 12 y 14, no se debe permitir un nuevo registro para el par invertido (14 y 12).
No creo que directamente puede ... Hay varias opciones como el uso de un disparador para asegurar ese tipo de cosas (por ejemplo, mediante la inserción automáticamente el par invertido con algún marcador especial) ... – Yahia