una multiple filas ejemplos dinamico convertir concatenar columns columnas columna 10g sql oracle constraints unique-constraint composite-key

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);

UNIQUE


ALTER TABLE table_name DROP CONSTRAINT constric_name;

CREATE UNIQUE INDEX constricción de nombre ON nombre de tabla (B, C, D)