[firebase-br] RES: RES: Erro em trigger

rodrigo firebase em dominioinf.com.br
Sexta Janeiro 29 12:29:50 -03 2021


Bom dia Cantu, obrigado pela resposta

A principio, fiz o teste com gfx

gfix -validate -full C:\Comercial\DMLoja\Recupera\DADOS1.fdb
gfix -mend -full -ignore C:\Comercial\DMLoja\Recupera\DADOS1.fdb
gfix -validate -full C:\Comercial\DMLoja\Recupera\DADOS1.fdb
gfix -mend -full -ignore C:\Comercial\DMLoja\Recupera\DADOS1.fdb
gfix -validate -full C:\Comercial\DMLoja\Recupera\DADOS1.fdb
gfix -mend -full -ignore C:\Comercial\DMLoja\Recupera\DADOS1.fdb
gfix -validate -full C:\Comercial\DMLoja\Recupera\DADOS1.fdb
gfix -mend -full -ignore C:\Comercial\DMLoja\Recupera\DADOS1.fdb

em nenhum desses comandos retornou erro.

Aparentemente a base não esta corrompida.

Isso já me aconteceu em outros bancos com outros clientes em outras tabelas e campos.

Acredito que tenha um baita bug no firebird ai.


Enviado do Email para Windows 10

De: Carlos H. Cantu via lista
Enviado:sexta-feira, 29 de janeiro de 2021 12:08
Para: FireBase
Cc:Carlos H. Cantu
Assunto: Re: [firebase-br] RES: Erro em trigger

GEN_ORDEM é chave primaria? Se sim, não pode estar nula. Se vc
encontrou algum registro onde esse campo está nulo, sendo ele uma PK,
então seu banco deve estar corrompido.

Não vejo problema no código do trigger. Verifique o banco com o gfix e
faça também um backup/restore para valida-lo.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

rvl> So pra completar a NEW.ORDEM = GEN_ID(GEN_ORDEM, 1);  

rvl> Também tem vários que estão como null.

rvl> Grato

rvl> Enviado do Email para Windows 10

rvl> De: rodrigo via lista
rvl> Enviado:sexta-feira, 29 de janeiro de 2021 10:58
rvl> Para: FireBase
rvl> Cc:rodrigo
rvl> Assunto: [firebase-br] Erro em trigger

rvl> Bom dia,

rvl> Nessa trigger, quando o registro é gravado ele teria que colocar automaticamente
rvl> A data e a hora.
rvl> Mas em muitos registros está como null

rvl> CREATE TRIGGER TR_ORDEM_DETAILFISCAL FOR DETAILFISCAL
rvl> ACTIVE BEFORE INSERT POSITION 0
rvl> AS  
rvl> BEGIN  
rvl> NEW.ORDEM = GEN_ID(GEN_ORDEM, 1);  
rvl> if (NEW.DATAHORA IS NULL) THEN   
rvl> NEW.DATAHORA = CURRENT_TIMESTAMP;  
rvl> END
rvl> ;

rvl> O que será que esta errado?

rvl> Grato




______________________________________________
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



-- 
Este email foi escaneado pelo Avast antivírus.
https://www.avast.com/antivirus


Mais detalhes sobre a lista de discussão lista