[firebase-br] Erro de FK
tulio roversi
tulioroversi em yahoo.com.br
Qua Nov 23 09:48:29 -03 2005
Cristiano,
O erro q acontece e referente a opcao 2: naum consigo setar NULL para o campo CDTIPOCARTAO na tabela CLIENTE. Ele naum eh PK nem NOT NULL. Estou fazendo o teste na propria tabela pelo IBExpert portanto naum eh minha aplicacao. Q pode ser?
Erro: violation of Foreign Key constraint...
vlw.
Cristiano Rebonatto <crebonatto em upf.br> escreveu: Vou me meter nessa !
Não sei se entendi direito, mas vou tentar contribuir com 2 sugestões.
1) Não sei se é bem isso :
Pelo que entendi vc quer mesmo que quando exista um relacionamento(uma
FK entre a tabela cliente e tipocartao) e este seja excluído na tabela
pai (tipocartao) a coluna CDTIPOCARTAO na tabela cliente seja atualizada
com o valor NULL ?
Bem se for isso vc pode tentar criar a FK com a opcao ON DELETE SET NULL.
alter table cliente add constraint FK_CODTIPOCARTAO foreign
key(cdtipocartao) references TIPOCARTAO(cdtipocartao) on delete set null
2) Vc consegue tranquilamente setar NULL para o campo codtipocartao na
tabela cliente A NÃO SER QUE VOCÊ o tenha definido com NOT NULL ou então
se ele fizer parte da sua PK da sua tabela cliente.Que pela jeito não é
o seu caso
O NULL não é valor então a FK não é validada nessa situação. Agora se
você colocar uma valor nela, ele obrigatoriamente vai ter que existir na
tabela pai.
Que erro você está recebendo que não está conseguindo executar essa ação ?
tulio roversi escreveu:
>ola RedDevil e os demais,
>
> pode deixar q naum faço mais essas perguntas indiscretas. Quanto ao erro vou explicar melhor pois o mesmo nao acontece no Oracle.
> Exemplo:
>
> tabela: CLIENTE TIPOCARTAO
> PK CDCLIENTE PK CDTIPOCARTAO
> NMCLIENTE NMTIPOCARTAO
> FK CDTIPOCARTAO NULL
>
> Se uma vez eu cadastro um cliente e informo um tipo de cartao para ele, naum posso mais apagar seu tipo de cartao (no registro da tabela cliente)? Tah claro?
>
> []´s, Tulio.
>
>RedDevil escreveu: ola Tulio,
>
>
>Post By tulio roversi:
>
>
>> bom dia pessoal,
>> alguem sabe seh eh possivel fazer com q o firebird ignore o erro de FK qndo apago o conteudo de um campo q eh do tipo null referente a FK em um registro de uma tabela? Deu pra entender?
>> vlw.
>> Tulio.
>>
>>
>
>esta ja eh a segunda vez que voce posta essa mesma pergunta...
>
>eu acho que ninguem respondeu ainda devido ao que voce escreveu: "deu
>para entender?"...
>
>ninguem quer admitir que entendeu...
>;o)
>
>eu tambem nao entendi (ou entendi sem dar...;o), mas ate onde eu sei (o
>que nao eh muita coisa...;o), nao existe uma maneira de fazer isso sem
>excluir a FK...
>
>
>[]s
>força sempre!!!
>ate +++
>
>
>
--
+-----------------------------------------------------------+
Cristiano Rebonatto
Setor de Análise e Desenvolvimento
Divisão de Tecnologia da Informação
Universidade de Passo Fundo
Passo Fundo - RS
+-----------------------------------------------------------+
______________________________________________
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
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
---------------------------------
Yahoo! Acesso Grátis: Internet rápida e grátis.
Instale o discador agora!
Mais detalhes sobre a lista de discussão lista