Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/03/2008, 05:07
jfnava
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 8 meses
Puntos: 0
Camiar contenido de clave primaria

Hola a todos, soy nuevo en sql y me gustaría saber si puedo modificar el contenido

de la clave primaria de una tabla, que a su vez es clave externa en otra.

Lo he probado directamente y me da error debido a la dependencia que existe.

Las tablas son estas:

-- Tabla para guardar los pedidos que hagan a la empresa.

CREATE TABLE PEDIDOS(
CODIGO INT NOT NULL, --Código del pedido, es clave primaria.
FECHAPEDIDO DATE, -- Fecha en la que se hace el pedido.
FECHAENTREGA DATE, --Fecha de entrega del pedido.
TOTAL NUMBER(10,2), --Importe total del pedido.
ESTADO VARCHAR(10) DEFAULT 'PENDIENTE', --Estado en el que se encuentra el pedido (ruta, entregado y pendiente), todos los los pedidos tienen el valor por defecto PENDIENTES.
CLIENTE VARCHAR(10), --Cliente que realiza el pedido, clave externa.
PRIMARY KEY(CODIGO),
FOREIGN KEY (CLIENTE) REFERENCES CLIENTES(DNI)
);

-- Tabla en la que se guardan los productos que componen un pedido, pudiendo
-- un mismo pedido incluir dos cantidades distintas de un mismo producto,
-- con dos precios distintos.

CREATE TABLE DETALLESPEDIDOS(
PRECIO INT NOT NULL, --Precio del producto, forma parte de la clave primaria.
CODIGOPEDIDO INT NOT NULL, --Código del pedido, forma parte de la clave primaria.
CODIGOPRODUCTO INT NOT NULL, --Código del producto, forma parte de la clave primaria.
CANTIDAD INT, --Cantidad.
PRIMARY KEY(CODIGOPEDIDO,CODIGOPRODUCTO,PRECIO),
FOREIGN KEY(CODIGOPEDIDO)REFERENCES PEDIDOS(CODIGO),
FOREIGN KEY(CODIGOPRODUCTO)REFERENCES PRODUCTOS(CODIGO)
);

Quiero modificar el contenido de CODIGO en la tabla PEDIDOS, que a su vez forma parte de la clave primaria en la tabla DETALLESPEDIDOS.

Agradecería que me echarais una mano, gracias.