[firebase-br] Desativação de triggers

Antonio Bonelli Junior junior em wwinfo.com.br
Qui Jul 18 08:47:58 -03 2019


Obrigado pela dica Luiz.

Att,
Antonio Bonelli Junior

Em 17/07/2019 23:15, Luiz Fernando Trevisan escreveu:
> Você pode salvar um valor em uma variável de contexto antes do update e na
> trigger ignorar caso a variável de contexto esteja com determinado valor
>
>
>
> rdb$set_context('user-session', 'executando_update_x', 'S')
>
> Na trigger você dá um
> rdb$get_context('user-session','executando_update_x')
>
> Se estiver com 'S' você dá um exit
>
> Após executar, limpa a variável
>
> rdb$set_context('user-session', 'executando_update_x', null)
>
>
> att,
> Luiz F. Trevisan
>
> Em qua, 17 de jul de 2019 11:39, Carlos H. Cantu <listas em warmboot.com.br>
> escreveu:
>
>> Nunca misture comandos DDL com DML em uma mesma transação! Isso pode
>> gerar inclusive corrupção da base.
>>
>> PS: Se der problema vc tem que tratar na aplicação que está disparando o
>> script.
>>
>> []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
>>
>> ABJ> Bom dia a todos.
>>
>> ABJ> Preciso atualizar apenas um campo de "Tabela_A" onde a mesma possui
>> uma
>> ABJ> trigger de atualização da "Tabela_B", porém o campo que estou
>> ABJ> atualizando só é necessário modificação nessa "Tabela_A".
>> ABJ> Em uma mesma transação executo os comandos:
>>
>> ABJ>          a) ALTER TRIGGER nome INACTIVE;
>> ABJ>          b) depois o UPDATE necessário e por fim
>> ABJ>          c) ALTER TRIGGER nome ACTIVE;
>>
>> ABJ> Notei que mesmo desabilitando a trigger, o tempo de execução é o
>> mesmo,
>> ABJ> como se a trigger ainda estivesse ativa.
>> ABJ> Fiz um teste colocando um COMMIT após a desativação da trigger e aí o
>> ABJ> tempo de execução diminuiu conforme o esperado, porém caso ocorra
>> algum
>> ABJ> problema durante o UPDATE, a trigger poderá permanecer desativada, o
>> que
>> ABJ> pra mim seria problemático.
>>
>> ABJ> Pergunto: Existe alguma maneira de desativar uma trigger dentro de uma
>> ABJ> mesma transação?
>>
>> ABJ> Desde já, muito obrigado.
>>
>> ABJ> Att,
>> ABJ> Antonio Bonelli Junior
>> ABJ> ______________________________________________
>> ABJ> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> ABJ> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> ABJ> http://www.firebase.com.br/fb/artigo.php?id=1107
>> ABJ> Para consultar mensagens antigas:
>> ABJ> http://www.firebase.com.br/pesquisa_lista.html
>>
>>
>> ______________________________________________
>> 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
>>
> ______________________________________________
> 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




Mais detalhes sobre a lista de discussão lista