>
> > Eu acabei tendo retorno do comando que rodei, em outras tabelas:
> > ...
> > Porém, estou meio em dúvidas sobre o que fazer.
>
> Mantenha os dados íntegros, seja consistente. Estabeleça um padrão
> para os registros que não estão íntegros e defina um valor padrão para
> os mesmos, converse com os os colegas a sua volta, quem desenhou a
> aplicação e tem conhecimento de como estes dados não-integros se
> comportam na aplicação pode te ajudar a definir os valores padrões. Se
> mesmo assim não existe um valor padrão mas existe uma regra de
> integridade, a aplicação obviamente não vai funcionar com estes dados
> e então para quê tê-los?
>
> Mas em nenhum momento use qualquer mecanismo de burlar a integridade.
>
>
>
Então.
Ao rodar o meu .sql, recebi a seguinte mensagem:

*Query:*

ALTER TABLE integrations.accounts DROP CONSTRAINT IF EXISTS
cc_at_least_one_setting_needed,
    ADD CONSTRAINT cc_at_least_one_setting_needed CHECK
(("qb_settings" IS NOT NULL) or

("xero_settings" IS NOT NULL) or

("freshbooks_settings" IS NOT NULL) or

("myob_settings" IS NOT NULL) or

("ppy_settings" IS NOT NULL));


ERROR:  check constraint "cc_at_least_one_setting_needed" is violated by
> some row


Fiz um simples SELECT para descobrir o que estava acontecendo:

SELECT * FROM integrations.accounts WHERE qb_settings IS NULL OR
xero_settings IS NULL OR freshbooks_settings IS NULL OR myob_settings
IS NULL OR ppy_settings IS NULL;


Recebi 59 rows. Ou seja, achei o problema. Eu tenho parâmetros nulos que
violam o meu "CHECK"

*PERGUNTA:*

Como posso executar o comando com sucesso? O que tenho que fazer?


Dickson S. Guedes

Não estou pedindo a barbada. Apenas se puder ser mais claro no que eu
> preciso e me apontar uma direcão, iria ajudar bastante. Obrigado.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a