[firebase-br] Reduzir quantidade de testes em uma SP

Hélio Oliveira hpensador em gmail.com
Qua Out 19 10:46:47 -03 2011


Bom dia Colegas!

Tenho uma SP onde tenho 2 for select (um dentro do outro), sendo que no 
segundo eu faço testes if (codicao) then e gostaria de no momento em que 
uma condição fosse satisfeita passar imediatamente para o próximo fetch. 
Colocando suspend o registro é duplicado, exit sai da proc e break se 
perde completamente. Há alguma forma que eu possa parar o teste e 
continuar normalmente o fluxo dos dados. Vide abaixo a referida SP

create or alter minha_proc (
   ano integer)
returns
   ( campos a serem retornados )
as
   (declaração de variáveis)
begin
   for select matricula, nome
       from tabela1
   into :mat, :nome do
   begin
     for select mes, sum(valor)
         from tabela2
         where ano = :ano
           and matricula = :mat
     into :mes_base, :valor do
     begin
       if (:mes_base = 1) then
         valor_jan = :valor;
       if (:mes_base = 2) then
         valor_fev = :valor;
       if (:mes_base = 3) then
         valor_mar = :valor;
       if (:mes_base = 4) then
         valor_abr = :valor;
       ...
     end
   end
end

-- 
[]'s,

Hélio Oliveira
Bel. Ciência da Computação
Técnico em Contabilidade
e-mail : hpensador em gmail.com
Skype : hpensador
http://hpensador.blogspot.com/
www.hpensador.net
(71) 9975-9176





Mais detalhes sobre a lista de discussão lista