Oracle - constraint UNIQUE para tres campos de tabla

 
Vista:

constraint UNIQUE para tres campos de tabla

Publicado por KARINA (53 intervenciones) el 29/09/2005 11:16:50
POR FAVOR DISCULPAD MI IGNORANCIA PERO SOY NOVATA CON LA EJECUCIÓN DE CONSTRAINTS, SI TENGO TRES CLAVES FORÁNEAS EN UNA TABLA DEL MODO SIGUIENTE:

COD_TABLA(PK)
------------------------
COD_CUESTIONARIO(FK)
COD_PREGUNTA(FK)
NU_ORDEN
DS_TABLA
FX_FECHA_CREACION

QUISIERA HACER UN CONSTRAINT DONDE ME ASEGURE LA UNICIDAD DE TRES CAMPOS:
COD_CUESTIONARIO
COD_PREGUNTA y
NU_ORDEN

ES DECIR UN CONSTRAINT UNIQUE DE LOS TRES CAMPOS, ES ESTO POSIBLE, CÓMO LO HAGO??

GRACIAS!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:constraint UNIQUE para tres campos de tabla

Publicado por chemian (75 intervenciones) el 29/09/2005 15:15:11
Es posible, y se hace asi:

ALTER TABLE COD_TABLA ADD (
CONSTRAINT PK_COD_TABLA PRIMARY KEY (COD_CUESTIONARIO,COD_PREGUNTA,NU_ORDEN));

un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:constraint UNIQUE para tres campos de tabla

Publicado por KARINA (53 intervenciones) el 29/09/2005 15:28:35
OK ME PARECE BIEN PERO LO QUE YO QUIERO ES QUE SOLO COD_TABLA SEA CLAVE PRIMARIA (PK), Y LOS CAMPOS (COD_CUESTIONARIO,COD_PREGUNTA,NU_ORDEN) LA COMBINACIÓN DE LOS TRES (A LA VEZ) SEA ÚNICA, SIN NECESIDAD DE SER CLAVE PRIMARIA.

GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:constraint UNIQUE para tres campos de tabla

Publicado por chemian (75 intervenciones) el 29/09/2005 15:52:08
Ok, no habia entendido bien la pregunta. En este caso create un indice unico.

CREATE UNIQUE INDEX nb_index
ON nb_tabla (COD_CUESTIONARIO,COD_PREGUNTA,NU_ORDEN);

Esto, si que obligara a que los campos sean unicos por registro, sin necesidad de que sean clave primaria, y ya de paso te hara mas rapidas las consulta en las que la clausula where tengan como condicion estos tres campos.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar