Fórum Erro ao criar uma Chave Estrangeira !!!!! #57828
05/02/2007
0
Acho que estou fazendo de forma errada..
Estou criando uma chave na tabela CA0500 que contem o campo C_COD_OPCAO_RESERVADA que referencia a tabela OP0100 e tem chave primária o mesmo campo
Quando tento criar a chave estrangeira dá o seguinte erro:
can´t format message 13:470 -- message file C:\ARQUIVOS DE PROGRAMAS\HK-SOFTWARE\firebird.msg not found. violation of FOREIGN KEY constraint "PK_OP0100" on table "OP0100".
será que tô fazendo algo errado???
Cabelo
Curtir tópico
+ 0Posts
06/02/2007
Emerson Nascimento
entendeu?
Gostei + 0
07/02/2007
Cabelo
mas então como vou criar a chave estrangeira.. já que tenho que criá-la, pois aconteceu um problema esta semana com uma exclusão na tabela..
Como vou criar a chave???
Gostei + 0
07/02/2007
Emerson Nascimento
- limpa o campo (torna o conteúdo null) cujo valor não existe na tabela estrangeira ou
- adiciona um registro na tabela estrangeira cujo ID seja aquele gravado na tabela principal
depois de executar uma dessas opções você poderá criar a FK sem problema.
Gostei + 0
07/02/2007
Cabelo
como vou saber qual o registro que está faltando???
Vê se eu entendí direito..
Preciso verficar na tabela OP0100 os códigos da opções e inserir na tabela CA0500 registros com os códigos que estão faltando certo??
Ou posso excluir os registros da OP0100 que não estiverem em uso..
é isso??
Gostei + 0
07/02/2007
Emerson Nascimento
select dinstinct C_COD_OPCAO_RESERVADA from tabela_princial where not C_COD_OPCAO_RESERVADA in (select C_COD_OPCAO_RESERVADA from tabela_estrangeira)
com isso serão listados os códigos que estão faltando na tabela estrangeira. de posse desses códigos, faça a inclusão desses registros na tabela estrangeira
ou:
2.
update tabela_principal set C_COD_OPCAO_RESERVADA = null where not exists( select C_COD_OPCAO_RESERVADA from tabela_estrangeira where tabela_estrangeira.C_COD_OPCAO_RESERVADA = tabela_principal.C_COD_OPCAO_RESERVADA )
depois de seguida uma dessas opções, tente criar a chave estrangeira.
[b:01e3f17116]lembre de fazer bkp antes efetuar qualquer alteração[/b:01e3f17116].
Gostei + 0
08/02/2007
Cabelo
O problema persiste...
Tem alguma outra idéia???
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)