[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