[firebase-br] Erro em campo "Computed By": Overflow occurred during data type convertion. Convertion erros string "16030"
Mário Reis
mariodosreyx em gmail.com
Quarta Outubro 1 20:38:20 -03 2025
Obrigado
Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146
Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.
A quarta, 1/10/2025, 20:38, Gladiston Santana <gladiston.santana em gmail.com>
escreveu:
> Evite inferencias, no seu create table faça assim:
> CREATE TABLE ORCAMENTOS (
> CODITEM_ALMOX VARCHAR(36),
> (...)
> VL_UNITARIO NUMERIC(18,4) DEFAULT 0.00
> NOT NULL,
> QTDE_ATUAL NUMERIC(18,4) DEFAULT 0.00 NOT
> NULL,
> VL_TOTAL *NUMERIC(18,4)* COMPUTED BY (
> *CAST*(VL_UNITARIO*QTDE_ATUAL) *AS **NUMERIC(18,4)*
> ),
> (...)
> );
>
> Ou seja, tenha um tipo antes do 'compute by' e sempre que for lidar com
> numeros faça um cast para o mesmo tipo.
> Não usar um cast pode permitir que um número inteiro varie entre smallint,
> int e bigint, ou seja dinamicamente inferido, mas o cast forçará um tipo
> específico para não variar.
> No delphi por exemplo, os TFields tem tipos fixos e se houver variação,
> especialmente em tamanhos de strings ou tipos numericos, eles podem dar
> erro.
> Se seus campos numericos permitem nulos, use COALESCE.
>
>
>
Mais detalhes sobre a lista de discussão lista