FIREBIRD

WILLVIDAL 05/06/2010 22:42:57
#344019
Boa noite,
Queria saber o seguinte, no firebird se eu coloco um campo como chave estrangeira na tabela, eu não posso registrar com esse campo em branco ? ex:

TABELA_CLIENTE (CODIGO / NOME / COD_CIDADE)
TABELA CIDADE (CODIGO / CIDADE)

O campo cod_cidade na tabela cliente é chave estrangeira, e se eu quero cadastrar o cliente sem a cidade, não pode ?
pelo menos aqui ta dando erro na hora de executar o comando SQL, alguém ja passou por isso ?

Obrigado

MOREIRA 05/06/2010 22:52:49
#344020
verifique se o campo é obrigatório o preenchimento...[Ô] NULL[Ô] FALSE... [Ô]int[Ô]
LLAIA 05/06/2010 23:26:38
#344021
Resposta escolhida
dessa forma vc tá violando a integridade referencial. crie um registro na tabela de cidades por exemplo: Código = 0, e Cidade= NÃO INFORMADO.

Se o usuário, não informar a cidade, vc insere zero.
EDERMIR 06/06/2010 15:33:11
#344045
O seu RELACIONAMENTO entre as tabelas EXIGE que haja um registro na TABELA_CIDADE para cada registro na TABELA_CLIENTE. Portanto você não poderá incluir um registro na TABELA_CLIENTE sem verificar a existência de um registro na tabela_cidade onde: TABELA_CLIENTE->COD_CIDADE = TABELA_CIDADE->CODIGO
TECLA 06/06/2010 17:11:35
#344051
Veja 2 saídas:

Primeira (créditos para o LLAIA):
Citação:

:
...crie um registro na tabela de cidades por exemplo: Código = 0, e Cidade= NÃO INFORMADO.

Se o usuário, não informar a cidade, vc insere zero.



Segunda:
RETIRE o relacionamento e CONTINUE armazenando os códigos da tabela CIDADE (se bem que esta NÃO é a melhor alternativa).
Tópico encerrado , respostas não são mais permitidas