Fórum Sincronizando Informações entre 2 BD's iguais #403534

22/06/2011

0

Bom gente, eu tenho na minha aplicação uma Classe para sincronizar 1 banco com o outro, na verdade esta classe apenas copia os dados de um banco para o outro pelo seguinte método : 
 Procura no banco 1 se o dado existe, se existir apenas substitui pelo dado do banco 2, caso não exista ele cria o dado. 
 Porém há um grande problema nisso, AS TRIGGERS. Como minha aplicação trabalha com controle de estoque e tudo mais, quando faço o sincronismo as triggeers são ativadas, e gostaria que elas não fossem ativadas nessa hora.
 Alguma solução ?
Ronaldo Lanhellas

Ronaldo Lanhellas

Responder

Posts

22/06/2011

Jonathan Campos

desabilite a trigger quando vc for fazer a sincronização, e habilite novamente após terminar o processo.

veja se o link te ajuda:
https://www.devmedia.com.br/post-1378-Como-desabilitar-uma-trigger-temporariamente.html
Responder

Gostei + 0

22/06/2011

Ronaldo Lanhellas

Bom .. não entendi muito bem o comando 
 ALTER TABLE tablename DISABLE TRIGGER ALL-- do work here
ALTER TABLE tablename ENABLE TRIGGER ALL 

 Primeiro ... oque  informar no tablename ? o palavra reservada ALL significa que todas as triggers serão desabilitadas ?

 
Responder

Gostei + 0

22/06/2011

Ronaldo Lanhellas


  Funcionou da seguinte forma: 
 ALTER TRIGGER nome_da_trigger INACTIVE; 

 porém funciona apenas para 1 trigger, isto é, eu teria que fazer uma por uma. Gostaria de fazer em todas de uma vez só ! 
Responder

Gostei + 0

22/06/2011

Ronaldo Lanhellas

resolvido com o seguinte:   update RDB$TRIGGERS set RDB$TRIGGER_INACTIVE = 1where rdb$trigger_source is not null and ((rdb$system_flag = 0) or
(rdb$system_flag is null))
desabilita todas as triggers no banco
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar