[firebase-br] RES: Execute block não atualiza tabela
Rodrigo Gomes da Silva
rodrgomes em gmail.com
Qui Jul 4 17:07:26 -03 2013
Voce pode trocar o execute block por um update direto
update funcionario x set x.afastado = 'N' where x.afastado = 'S' and
coalesce((select first 1 h.afa_ret from historico h where h.matricula =
x.codigo
order by h.data desc),'R')='R'
Em 4 de julho de 2013 16:28, Firebird <hpensador em gmail.com> escreveu:
> Boa tarde Rodrigo!
>
> Sim, já fiz esta verificação e até transformei este bloco de código em uma
> SP e fiz o debug, e o + estranho de tudo é que na execução passa pelo
> UPDATE, porém não ocorre a referida atualização.
>
> It happens that Rodrigo Bevilacqua Marcondes formulated :
>
> Já verificou os dois select´s separados para ver se estão retornando as
>> informações?
>> Na versão paga do IBExpert tem o Debug de Procedure, talvez tenha do
>> execute
>> block - que eu nem conhecia, mas é semelhante a procedure.
>>
>> Obrigado,
>> Rodrigo B Marcondes
>>
>>
>> -----Mensagem original-----
>> De: lista [mailto:lista-bounces@**firebase.com.br<lista-bounces em firebase.com.br>]
>> Em nome de Firebird Enviada em: quinta-feira, 4 de julho de 2013 16:01
>> Para: lista em firebase.com.br
>> Assunto: [firebase-br] Execute block não atualiza tabela
>>
>> Boa tarde Colegas!
>>
>> No código abaixo necessito atualizar a tabela de funcionários, porém
>> quando
>> executo o bloco de código o mesmo não faz a atualização. O que posso estar
>> fazendo errado.
>>
>> execute block
>> as
>> declare variable maticula integer;
>> declare variable ar varchar(1);
>> begin
>> for select x.codigo
>> from funcionario x
>> where x.afastado = 'S'
>> order by x.codigo
>> into :maticula do
>> begin
>> ar = null;
>> select first 1 h.afa_ret
>> from historico h
>> where h.matricula = :maticula
>> order by h.data desc into :ar;
>> if ((:ar = 'R') or (:ar is null)) then
>> update funcionario set afastado = 'N' where codigo = :maticula;
>> suspend;
>> end
>> end
>>
>> [ ]'s,
>>
>> Hélio Oliveira
>>
>>
>>
>>
>> ______________________________**________________
>> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
>> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>
>>
>> ______________________________**________________
>> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>Para consultar mensagens antigas:
>> http://firebase.com.br/**pesquisa <http://firebase.com.br/pesquisa>
>>
>
>
>
>
> ______________________________**________________
> 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<http://www.firebase.com.br/fb/artigo.php?id=1107>
> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>
Mais detalhes sobre a lista de discussão lista