Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/08/2015, 13:51
Avatar de Kursakez
Kursakez
 
Fecha de Ingreso: agosto-2015
Mensajes: 19
Antigüedad: 8 años, 8 meses
Puntos: 1
Cómo hago para que una FOREIGN KEY herede de PRIMARY KEY

Hola!

Bueno, se me plantea el siguiente problema. Yo tengo una tabla que es así:
Código SQL:
Ver original
  1. CREATE TABLE IMAGENES
  2.   (
  3.     foto   VARCHAR2 (250) PRIMARY KEY,
  4.     codigo VARCHAR2 (10) NOT NULL,
  5.     FOREIGN KEY (codigo) REFERENCES PRODUCTOS (codigo)
  6.   );

que es la tabla que quiero que herede el código de esta:

Código SQL:
Ver original
  1. CREATE TABLE PRODUCTOS
  2.   (
  3.     codigo        VARCHAR2 (10) PRIMARY KEY,
  4.     nombre        VARCHAR2 (20) NOT NULL,
  5.     precio        NUMBER (5,2) NOT NULL,
  6.     descripcion   VARCHAR2 (140) NOT NULL,
  7.     genero        VARCHAR2 (5),
  8.     color         VARCHAR2 (100),
  9.     tipo_producto VARCHAR2 (100),
  10.     temporada     VARCHAR2 (8),  
  11.     UNIQUE(codigo, nombre, precio, temporada),
  12.     CONSTRAINT e_genero CHECK (genero              ='varon'
  13.   OR genero                                        ='mujer'),
  14.     CONSTRAINT e_tipo_producto CHECK (tipo_producto='babero'
  15.   OR tipo_producto                                 ='camiseta'
  16.   OR tipo_producto                                 ='pantalon'
  17.   OR tipo_producto                                 ='vestido'
  18.   OR tipo_producto                                 ='zapatos'
  19.   OR tipo_producto                                 ='diadema'
  20.   OR tipo_producto                                 ='calcetines'),
  21.   CONSTRAINT e_temporada CHECK (temporada          ='verano'
  22.   OR temporada                                     ='invierno')
  23.   );

Tengo entendido que en Oracle SQL Developer no puedo usar ON UPDATE CASCADE, entonces como hago para que al insertar en PRODUCTOS el valor de la PRIMARY KEY, este se inserte también en la FOREIGN KEY en IMAGENES.

Gracias por adelantado!

Última edición por gnzsoloyo; 14/08/2015 a las 13:55 Razón: Código pésimamente etiquetado. Usar HIGHLITS