[firebase-br] Erro de FK
Cristiano Rebonatto
crebonatto em upf.br
Qua Nov 23 09:18:52 -03 2005
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 <reddevil em reddevil.eti.br> 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
+-----------------------------------------------------------+
Mais detalhes sobre a lista de discussão lista