[firebase-br] Erro estranho entre PK e FK
Marcelo Siqueira
marcelo em bredas.com.br
Seg Fev 14 12:39:41 -03 2005
Estou aqui com um problema bem estranho.
A algum tempo, um programador no meu time de desenvolvimento cometeu um
erro e criou um campo que era ao mesmo tempo uma chave primaria e uma
chave secundaria fazendo referencia *a propria tabela*.
A definição ficou assim:
ALTER TABLE PRODUTOS ADD PRIMARY KEY (COD_PRODUTO);
ALTER TABLE PRODUTOS ADD CONSTRAINT FK_PRODUTO_REQUIS FOREIGN KEY
(COD_PRODUTO) REFERENCES PRODUTOS (COD_PRODUTO) ON DELETE NO ACTION ON
UPDATE CASCADE;
Eu vi e erro e apaguei a constraint da chave secundaria errada, essa
FK_PRODUTO_REQUIS. Até ai tudo bem. Mas agora quando vou em outra tabela
e tento criar uma chave secundaria que faça referencia a chave primaria
da tabela PRODUTOS eu recebo um erro:
SQL:
ALTER TABLE ITEM_PRODUTOS ADD CONSTRAINT FK_ITEM_PRODUTOS FOREIGN KEY
(COD_PRODUTO) REFERENCES PRODUTOS (COD_PRODUTO) ON DELETE NO ACTION ON
UPDATE CASCADE;
Erro:
Cannot commit transaction:
violation of FOREIGN KEY constraint "".
violation of FOREIGN KEY constraint "INTEG_865" on table "PRODUTOS".
Sendo que essa constraint INTEG_865 é a constraint que define a chave
primaria da tabela PRODUTOS.
Alguem sabe como posso corrigir o meu banco para que eu possa criar uma
chave secundaria que faça referencia a chave primaria da tabela PRODUTOS?
Obrigado pela ajuda!
Marcelo Siqueira
Mais detalhes sobre a lista de discussão lista