[firebase-br] Chave Primaria e Chave Secundária Compostas
welder
wellder em gmail.com
Ter Jan 17 19:18:22 -03 2012
Boa tarde a todos,
A tempo tenho esse problema / dúvida, mas só hoje parei para postar
Estou tentando criar as seguintes tabelas com seu relacionamentos. Vejam
script abaixo:
CREATE TABLE EMRPESA (
CODIGO INTEGER NOT NULL,
RAZAOSOCIAL VARCHAR(200));
alter table EMRPESA
add constraint PK_EMRPESA
primary key (CODIGO);
CREATE TABLE PRODUTOS (
CODIGO INTEGER NOT NULL,
EMP_CODIGO INTEGER NOT NULL,
DESCRICAO VARCHAR(200),
UNID CHAR(4));
alter table PRODUTOS
add constraint PK_PRODUTOS
primary key (EMP_CODIGO,CODIGO);
alter table PRODUTOS
add constraint FK_PRODUTOS_1
foreign key (EMP_CODIGO)
references EMRPESA(CODIGO);
CREATE TABLE PEDIDOS (
CODIGO INTEGER NOT NULL,
EMP_CODIGO INTEGER NOT NULL,
DATA DATE,
VALOR DOUBLE PRECISION);
alter table PEDIDOS
add constraint PK_PEDIDOS
primary key (CODIGO,EMP_CODIGO);
alter table PEDIDOS
add constraint FK_PEDIDOS_1
foreign key (EMP_CODIGO)
references EMRPESA(CODIGO);
CREATE TABLE PEDIDOS_ITENS (
CODIGO INTEGER NOT NULL,
PED_CODIGO INTEGER NOT NULL,
PROD_CODIGO INTEGER NOT NULL,
QTDE DOUBLE PRECISION,
VALOR DOUBLE PRECISION);
alter table PEDIDOS_ITENS
add constraint PK_PEDIDOS_ITENS
primary key (CODIGO,PED_CODIGO,PROD_CODIGO);
*alter table PEDIDOS_ITENS*
*add constraint FK_PEDIDOS_ITENS_1*
*foreign key (PED_CODIGO)*
*references PEDIDOS(CODIGO,EMP_CODIGO);*
Ao rodar o ultimo script (em negrito) ocorre :
---------- STATEMENT ----------
alter table PEDIDOS_ITENS
add constraint FK_PEDIDOS_ITENS_1
foreign key (PED_CODIGO)
references PEDIDOS(CODIGO,EMP_CODIGO)
---------- ERROR MESSAGE ----------
This operation is not defined for system tables.
Dynamic SQL Error.
SQL error code = -607.
Invalid command.
FOREIGN KEY column count does not match PRIMARY KEY.
Como resolver? Existe a possibilidade de trabalhar com chave secundária
sendo que a primaria é composta?
--
Welder Vieira
Técnico em Manutenção e Conectividade
Celular: (63) 8118-6461
Mais detalhes sobre a lista de discussão lista