Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LaraW

Problemas foreign key

Recommended Posts

Caros colegas, estou com uma situação curiosa em relação à uma integridade referencial. Tenho duas tabelas no PostgreSQL, uma tabela pai e outra filha. Existe uma integridade referencial aplicada nessas tabelas da forma convencional:



ALTER TABLE TAB_FILHA
ADD CONSTRAINT FK_TESTE FOREIGN KEY (CDTESTE)
REFERENCES TAB_PAI (CDTESTE);

Só que o mais curioso é que quando procuro um determinado codigo, ele está na tabela tab_filha mas não está na tabela tab_pai.



Será que existe algum comando que quando ao inserir o registro seja solicitado que ignore as integridades referenciais?



Pois a integridade com certeza está aplicada, mas esse registro não segue essa referencia. Tanto que fiz um backup desse banco e ao restaurá-lo deu problema.



Um colega até chegou a postar que pode ser que os registros já existiam e ao implementar a integridade ela passa a valer somente para os novos registros, mas isso não é verdade. Ao tentar implementar tendo registros inconsistentes, dá problema e não permite a implementação.



Alguém sabe como isso pode ter acontecido. Já passei por essa situação mais de uma vez



Obrigada


Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ckcesar
      Eu tenho uma aplicação no zend com a versão 5.6 e com o postgresql 9.6. Agora eu precisei mudar a versão do meu postgresql para o 16.1, a parte de conexão do bd e consultas sqls funciona perfeitamente, o meu problema está para acessar os meus controllers. Eles não são encontrados em nenhuma rota, quero ver se alguém já passou por esse problema para me ajudar. Obrigado.
    • Por manolegal
      Olá amigos(as) do Fórum.
      Tenho um número inteiro no PHP e preciso inseri-lo no Postgresql com 02 casas decimais.
      Defini o campo no Postgresql do tipo numeric(14,2)
      O valor está assim no PHP:
      2961966 Preciso gravar no BD da seguinte maneira:
      29619.66 Porém está gravando da seguinte forma:
      2961966.00 Tentei utilizando number_format, porém não consegui:
      $numero_bd = number_format($numero, '.', ''); $numero_bd = number_format($numero,2,"."); $numero_bd = number_format($numero,2,","numerovalor_ref_15,2,",","."); Caso alguém possa me ajudar, desde já agradeço.
    • Por manolegal
      Bom dia
      No cálculo de total de meses entre 02 datas no Postgresql, a consulta está trazendo o valor sem considerar o "dia do mês", ou seja, não está considerando se o dia da data inicial é igual ou superior ao dia da data final:
      SELECT (CAST(TO_CHAR(AGE('2020-04-29', '2019-07-28'),'MM') AS INTEGER) + (CAST(TO_CHAR(AGE('2020-04-29', '2019-07-28'),'YY') AS INTEGER))*12) AS MESES; Neste caso, o resultado deveria se "8", porém está retornando "9". Como faço para resolver este problema?
    • Por rsrodrigoam
      Alguém poderia me ajudar com a seguinte consulta?   Tab_base gtin(PK) | cod_entr | aliq_entr | cod_saida | aliq_saida     Tab_consulta cod_barra | cod_entr | aliq_entr | cod_saida | aliq_saida | status_saida | corr_saida | status_entr | corr_entr    A Tab_consulta é importada e deve consultar se existe o cod_barra igual ao gtin da Tab_base. Em caso positivo, preciso consultar os campos que tem informação na Tab_consulta de códigos e alíquotas, quando tiver informação cruzar com a Tab_base para validar se está correto, se estiver correto (status_* = 'OK'), se estiver diferente (status_* = 'inválido' and corr_* = "alíquota certa vindo da Tab_base").   Desde já agradeço a ajuda.
    • Por luisfeliperm2
      Quero selecionar 10 noticias do banco de dados, irei utilizar paginação, então na próxima pagina será selecionada da 11-20, 21-30. Só que em todos esses select eu quero que venha a noticia principal que é definida pela coluna "destaque".  O motivo é que eu não quero usar 2 select pra buscar noticias.
      Pra ser bem resumido, eu quero selecionar a noticia principal e depois selecionar mais 10 que podem ser qualquer uma
       
      Tentei da seguinte forma:
      select * from news where destaque = true UNION select * from news ORDER BY id DESC LIMIT 10 OFFSET 1;
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.