[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