>
>
> Exatamente o que a mensagem diz: que alguma linha está violando esta
> restrição acima.
>
> Eu detesto dar spoiler, é contra a minha natureza, mas as vezes a
> resposta está tão na nossa frente que não a enxergamos, e acho que a
> questão aqui é esta.
>
> Então vai uma dica: antes de adicionar uma restrição use a clausula da
> restrição e faça uma busca antes na tabela para descobrir quais linhas
> violarão a restrição uma vez que a mesma seja imposta e trate estas
> linhas ANTES, então somente depois disto é que você pode adicionar a
> restrição, pois, desta forma, você garante que todas as linhas estão
> satisfazendo a condição.
>
> Apenas um adendo, você pode usar OR ai acima não? Aconselho trocar os
> casts e expressão aritmética por uma boolean como CHECK ((qp_id is not
> null) OR (xero_id IS NOT NULL) ... ).
>
>
> Sem mais spoilers da minha parte... :)
>

Certo.

Eu recebo 0 rows quando executo o select:

SELECT *
> FROM integrations.tax_aggregates
> WHERE
> NOT ((("qb_id" IS NOT NULL) :: INTEGER +
> ("xero_id" IS NOT NULL) :: INTEGER +
> ("freshbooks_id" IS NOT NULL) :: INTEGER +
> ("myob_id" IS NOT NULL) :: INTEGER +
> ("ppy_id" IS NOT NULL) :: INTEGER) > 0)


Então teoricamente eu devia conseguir criar a Constraint... Não?

Lucas
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a