sql - multiple - pivot oracle ejemplos
¿Cómo dar una restricción única a una combinación de columnas en Oracle? (3)
Tengo una mesa con 4 columnas
Cada columna será A, B, C, D
La columna A es la clave principal. La columna B tiene una restricción de nombre única.
Ahora quiero eliminar la restricción única para la columna B y dar una restricción única mediante la combinación de las columnas B, C y D. Así que la tabla solo permitirá una fila con un valor particular en las columnas B, C y D.
¿Cómo puedo dar este tipo de restricción?
Intenté dar la clave única compuesta como:
ALTER TABLE TABLENAME ADD CONSTRAINT CONSTRAINT_NAME UNIQUE (COLUMN_B, COLUMN_C, COLUMN_D)
Pero está verificando si alguna de las restricciones está presente en lugar de verificar la combinación de una restricción de clave única.
En primer lugar, debe eliminar una Restricción existente utilizando la consulta ALTER a continuación.
ALTER TABLE table_name
DROP CONSTRAINT myUniqueConstraint;
Ahora, puede crear una restricción UNIQUE utilizando la palabra clave ÚNICO con la combinación de columnas requeridas.
Por ejemplo:
ALTER TABLE table_name
ADD CONSTRAINT myUniqueConstraint UNIQUE(B, C, D);
ALTER TABLE table_name DROP CONSTRAINT constric_name;
CREATE UNIQUE INDEX constricción de nombre ON nombre de tabla (B, C, D)
Crea una clave única en esas columnas
ALTER TABLE YourTable
add CONSTRAINT YourTable_unique UNIQUE (B, C, D);