none
Erro de INSERT RRS feed

  • Pergunta

  • Fiz um relacionamento de dependência, entre duas tabelas, uma chamada GUIA e possui uma chave estrangeira GuiaNumero, e outra CIH possuindo uma chave primária GuiaNumero, a tabela GUIA é mandatória, ou seja, o q eu apagar nela deve ser apagado na CIH, mas a tabela CIH somente é preenchida após uma atualização na tabela GUIA, ou seja, no momento em que eu insiro informações na GUIA, a CIH não será preenchida, mas depois de algum tempo (podem ser dias ou meses) obrigatóriamente a tabela GUIA recebe uma atualização, após essa atualização a tabela CIH deve ser obrigatoriamente preenchida, mas ao fazer isso, o banco retorna o seguinte erro:

     

    The INSERT statement conflicted with the FOREIGN KEY constraint "FK_CIH_Guia". The conflict occurred in database "dbVFGestaoHospitalar", table "dbo.Guia", column 'GuiaNumero'.

    Como faço pra corrigir isso? Tenho que desfazer o relacionamento e colocar a exclusão da tabela CIH por meio da minha aplicação?

     

    OBS: Pra que vocês entendam, a tabela GUIA refere-se a entrada de internação de um paciente, a qual é atualizada no dia da alta deste, e são fornecidas as informações de internação na tabela CIH.

    segunda-feira, 12 de janeiro de 2009 13:15

Respostas

  •  

    Olá,

     

    Para inserir registros no campo GuiaNumero da tabela CIH você deve antes ter esse código na tabela Guia.

     

    O erro e violação de constraint é justamente isso. Você está tentando inserir um GuiaNumero na tabela CIH que não existe na tabela GUIA

     

    Abraços

    segunda-feira, 12 de janeiro de 2009 19:29

Todas as Respostas

  • Leandro,

     

     

    O código que você esta tentando inserir na tabela CIH no campo GuiaNumero é o mesmo existente na tabela Guia?

    segunda-feira, 12 de janeiro de 2009 13:33
  • Olá,

     

    Posta a estrutura das duas tables por favor.

     

    Abraços

     

    segunda-feira, 12 de janeiro de 2009 14:43
  • Sim, tem q ser o mesmo código, pois o que eu apagar na Guia deve apagar na CIH.

    segunda-feira, 12 de janeiro de 2009 18:14
  • Tabela Guia:

    GuiaId
    GuiaNumero (varchar(44))
    ProntId
    NomeProntuario
    TBConvenio_Codigo
    TBConvenio_Sigla
    usuLogin
    TBConfigura_Codigo
    GuiaNrGuia
    GuiaDtEntrada
    GuiaDtSaida
    GuiaHsEntrada
    GuiaHsSaida
    GuiaDiagnostico
    GuiaTratamento
    GuiaForma
    GuiaNomeResponsavel
    GuiaRg
    GuiaCPF
    GuiaEndereco
    GuiaOrgao
    GuiaMatricula
    GuiaQtde
    GuiaValor
    GuiaIndicacao
    GuiaTipo
    GuiaJaFaturou
    GuiaDataLanc
    GuiaGlosa
    GuiaDataGlosa
    GuiaAge
    GuiaContaCorrente
    GuiaNrCC
    GuiaAcomodacao
    AcoIdentificacao
    TBCentroCusto_Codigo
    TBCentroCusto_Descricao
    TBFuncionario_Codigo
    TBFuncionario_Nome
    TBFuncionario_Login
    GuiaUltimoUsuario
    GuiaDataLancamento
    GuiaHoraLancamento
    TBAmb_Codigo
    TBMedicos_Crm
    TBMedicos_Nome
    TBEspecialidade_Codigo
    TBEspecialidade_Descricao
    GuiaIdade
    GuiaAutorizacao
    GuiaFone
    GuiaCidade
    GuiaUf
    PLANO_Codigo
    PLANO_Nome
    GuiaQtdeDiariasSol
    GuiaQtdeDiariasAut
    GuiaDtProrrogacao
    GuiaRespProrrogacao
    GuiaQtdeSolProrrogacao
    GuiaQtdeAutProrrogacao
    GuiaDtAutorizacao
    GuiaDtValAutorizacao
    GuiaSenhaProrrogacao
    GuiaCrmIndicacao
    CidCodigo
    CidGrupoNome
    CidItemDescricao
    GuiaValidadeCartao

     

    Tabela CIH:

    GuiaNumero (varchar(44))
    CIH_CNES
    CIH_Nome
    CIH_Logradouro
    CIH_Numero
    CIH_Complemento
    CIH_CodMunicipio
    CIH_UF
    CIH_CEP
    CIH_DtNascimento
    CIH_Sexo
    CIH_CNS
    CIH_CodProcedimento
    CIH_CIDPrincipal
    CIH_CIDSecundario
    CIH_DtEntrada
    CIH_DtSaida
    CIH_TipoAlta
    CIH_Convenio
    CIH_DescProcedimento
    CIH_ANSRegOpera
    CIH_CNPJOpera
    CIH_Matricula
    CIH_DocObito
    CIH_QtdeNascidos
    CIH_DocDN1
    CIH_DocDN2
    CIH_DocDN3
    CIH_DocDN4
    CIH_DocDN5
    CIH_DiasUTI
    CIH_ProntId
    CIH_Competencia

     

    OBS: Estou usando o SQL Server 2005 Enterprise

    segunda-feira, 12 de janeiro de 2009 18:17
  •  

    Olá,

     

    Para inserir registros no campo GuiaNumero da tabela CIH você deve antes ter esse código na tabela Guia.

     

    O erro e violação de constraint é justamente isso. Você está tentando inserir um GuiaNumero na tabela CIH que não existe na tabela GUIA

     

    Abraços

    segunda-feira, 12 de janeiro de 2009 19:29
  • Olá Leandro,

     

    Eu fiquei um pouco confuso quanto a sua explicação. Me parece que a tabela guia tem que possuir os registros antes da CIH, mas pela explicação, isso parece ser o contrário:

     

    "GUIA e possui uma chave estrangeira GuiaNumero"

    "CIH possuindo uma chave primária GuiaNumero"

     

    A tabela que possuir a chave estrangeira deverá ter o insert posteriormente. Se isso não refletir sua realidade, há uma erro de modelagem.

     

    [ ]s,

     

    Gustavo Maia Aguiar

    http://gustavomaiaaguiar.spaces.live.com

     

     

    segunda-feira, 12 de janeiro de 2009 22:10
  • Maia,

     

    Eu também fiquei um pouco perdido!!!

    terça-feira, 13 de janeiro de 2009 09:36