Retornar periodo de ano em procedure

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
jucruzjc
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 57
Registrado em: Qui, 11 Jan 2007 10:26 am
Localização: Santa Bárbaba d'Oeste
--
Juliana Cr. Cruz
Analista Desenvolvedor Oracle

Pessoal! Boa tarde!!

Seguinte...

Preciso que seja retornado o periodo entre os parametros (ano):

Selecionar tudo

Procedure teste (p_ano_ini number, p_ano_fim number) is

v_ano number;

begin

   Loop
      
      if v_ano is null then
         v_ano := p_ano_ini;

      elsif v_ano < p_ano_fim then
         v_ano := v_ano+1;

      elsif  v_ano > p_ano_fim then
         exit;       
      end if;
   
      dbms_output.put_line('ano: '||v_ano||' xxxxxxxxxxxx');

   end loop;

end;

resultado esperado


p_ano_ini = 2004
p_ano_fim = 2008

ano: 2004 xxxxxxxxxxxx
ano: 2005 xxxxxxxxxxxx
ano: 2006 xxxxxxxxxxxx
ano: 2007 xxxxxxxxxxxx
ano: 2008 xxxxxxxxxxxx


Só que não consigo fazer ele ler o periodo... ele se perde total...
alguém poderia me ajudar?


Agradeço!!! :D
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Jú, tudo bem?

Vê se te ajuda ai:

Selecionar tudo

DECLARE 
  vanoini NUMBER := 2004;
  vanofim NUMBER := 2008;
BEGIN
  IF vanofim > vanoini 
  THEN
     FOR x IN vanoini..vanofim
     LOOP
        dbms_output.put_line('Vano: '||x);     
     END LOOP;
  END IF;
END;
Se não for isso, manda pra gente.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Bing [Bot], Google Adsense [Bot] e 4 visitantes