[firebase-br] RES: RES: RES: Extrair trigger em .txt via procedure

Carlos H. Cantu listas em warmboot.com.br
Qui Dez 13 13:50:28 -03 2012


Quem deve dar o commit é a aplicação que disparou a procedure.

PS: IBOQuery não é o componente mais indicado para executar uma
procedure. Pra isso existem o TIBOStoreProc ou mesmo o TIB_DSQL.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

MW> Não sabia que não era possivel efetuar o commit dentro de procedures, 

MW> Então qual seria a saida já que não consigo efetuar um commit?

MW>  Faço o commit da transação (ibotransaction) que esta ligado a
MW> query (iboquery) e não esta surtindo efeitos.




MW> -=Ma®©oS=-
MW> Marcos R. Weimer
MW> Delphi / C# / ASP.NET / WebServices / Firebird



MW>  


MW> Em 13 de dezembro de 2012 11:49, Carlos H. Cantu
MW> <listas em warmboot.com.br> escreveu:

MW>   Você não pode dar commit nem rollback dentro de triggers e procedures.
MW>  
MW>  []s
MW>  Carlos H. Cantu
MW>  www.FireBase.com.br - www.firebirdnews.org
MW>  www.warmboot.com.br - blog.firebase.com.br
MW>  
 MW>> Alterei a procedure e fiz para criar 2 triggers qd ultrapassar os 32k de
 MW>> limite, até ai tudo bem, só que tenho um problema, a procedure não faz o
 MW>> commit, tenho de fazer no "braço", se insiro na ultima linha util (antes do
 MW>> end no fim da procedure) o commit; ocorre um erro "Token unknown - line
 MW>> 468, column 3. commit."
MW>  
 MW>> Executo na aplicação na tela de log (criar por tabela ou todas e tal),
 MW>> chamo com um iboquery o seguinte comando...
 MW>> "execute procedure log_ativardesativar(:ativar)"
MW>  
 MW>> depois de passar o parametro para a query e rodar um execsql, não tenho
 MW>> erro algum, depois de executar a query efetuo o commit na transação que
 MW>> esta ligada a query, não retorna erro mas tambem não commita.
MW>  
 MW>> Ai vem a pergunta.. o commit não vale para metadata?
MW>  
 MW>> Rodo esses mesmo sql no ibexpert e funciona, desde que efetue o commit
 MW>> clicando no botão de commit na barra de ferramentas.
MW>  
MW>  
 MW>> -=Ma®©oS=-
 MW>> Marcos R. Weimer
 MW>> Delphi / C# / ASP.NET / WebServices / Firebird





Mais detalhes sobre a lista de discussão lista