[firebase-br] Erro estranho entre PK e FK

Marcilio Soares marcilio.soares em brfree.com.br
Seg Fev 14 16:56:45 -03 2005


Eu tenho um centro de custos que Pk/Fk que gera detalhes(fk) a partir da
tabela(Pk). Eu achamo isso de retroalimentação. E to pra dizer que funciona
muito bem tb.

----- Original Message -----
From: "Mauricio Torres Fernandes" <mtfernandes em pop.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Monday, February 14, 2005 3:39 PM
Subject: RES: [firebase-br] Erro estranho entre PK e FK


Eu utilizo algo semelhante, em uma relação Pai-Filho, onde um registro da
tabela é pai de outro registro da mesma tabela, e não tenho problemas.

Mauricio

> -----Mensagem original-----
> De: lista-bounces em firebase.com.br
> [mailto:lista-bounces em firebase.com.br] Em nome de
> ricardo em vsiinformatica.com.br
> Enviada em: segunda-feira, 14 de fevereiro de 2005 14:32
> Para: FireBase
> Assunto: Re: [firebase-br] Erro estranho entre PK e FK
>
>        Olá Marcelo, eu não sei qual é a solução do seu
> problema, mas tem certeza que o fato de ser PF e FK não foi
> intencional ???
>
>        Eu já precisei fazer isso ... por mais estranho que
> pareça, foi a melhor solução que achei. No caso a tabela era
> de PESSOAS. Nesta tabela tinha um campo "Código_Fornecedor"
> ... sendo fornecedor um tipo de pessoa, a PK da tabela também
> precisava ser FK da mesma.
>
>        Não sei se é comum, errado ou tem solução melhor, mas
> foi algo que resolveu um possível problema de integridade e
> até hoje não deu problemas !!!!
>
>
> []'s
>
> Ricardo Rocha
> www.mundodemerlin.pro.br
>
>
>
>
> > 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





______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br







Mais detalhes sobre a lista de discussão lista