[firebase-br] Erro de FK

tulio roversi tulioroversi em yahoo.com.br
Qua Nov 23 10:44:52 -03 2005


Se eu der um update na janela do SQL da certo, mas no  grid de dados da pau.

Cristiano Rebonatto <crebonatto em upf.br> escreveu:  Vc está executando o UPDADE no ibextpert na janela do SQL ou vc está na 
parte de manutenção nos dados da tabela !!!!?????

tulio roversi escreveu:

>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  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