[firebase-br] Erro em trigger

Gladiston Santana gladiston em vidy.com.br
Terça Fevereiro 2 11:14:57 -03 2021


gen_id vai incrementar e te retornar um numero inteiro, certo?
Se sim, acho que voce criou uma inconsistência ao misturar timestamp e
inteiro.
Não estou falando do FB, mas muitas linguagens podem retornar null ou lixo
quando se misturam tipos diferentes numa expressão de mais.
Timestamp é um número de ponto flutuante internamente, mas as vezes não
funciona aritmeticamente porque tende a ser avaliado pelo interpretador que
pode rejeitar a expressao, por exemplo, se a regra for unixtime um valor 0
retorna 01.01.1970 e a parte fracionada será tratada como hora, mas como
sabe a hora, minuto e segundo precisa ser entendida de acordo com as regras
explicadas para não retornar um horario que nã existe.
Minha sugestão é nunca misturar tipos. Se usa FB3 tente usar o incremental,
ele é bem seguro. Ou use o GEN_ID mas apenas a parte de incremento, não
precisar testar nulabilidade porque uma vez que você inicie o valor inicial
como zero ele nunca resultará num nulo.

Em sex., 29 de jan. de 2021 às 10:58, rodrigo via lista <
lista em firebase.com.br> escreveu:

> Bom dia,
>
> Nessa trigger, quando o registro é gravado ele teria que colocar
> automaticamente
> A data e a hora.
> Mas em muitos registros está como null
>
> CREATE TRIGGER TR_ORDEM_DETAILFISCAL FOR DETAILFISCAL
> ACTIVE BEFORE INSERT POSITION 0
> AS
> BEGIN
> NEW.ORDEM = GEN_ID(GEN_ORDEM, 1);
> if (NEW.DATAHORA IS NULL) THEN
> NEW.DATAHORA = CURRENT_TIMESTAMP;
> END
> ;
>
> O que será que esta errado?
>
> Grato
>
>
>
> --
> Este email foi escaneado pelo Avast antivírus.
> https://www.avast.com/antivirus
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>


-- 
A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
na Melhoria Continua.

Em março de2018 migramos com sucesso para a nova versão da ISO 9001.

Somos a única Empresa Brasileira de Engenharia de Laboratórios com
certificação com o Escopo Completo; desde Projetos, Engenharia, Construção,
Fabricação e Instalação de Laboratórios.


Mais detalhes sobre a lista de discussão lista