Fabiano, tenho algo parecido com isso.. dá uma olhada.. 

declare
   -- Especificacao do type
   type rec_prm is record ( p_param  varchar2(100),
                            p_value  varchar2(1000),
                            p_type   varchar2(50),
                            p_format varchar2(100)
                          );
   type tab_prm is table of rec_prm index by binary_integer;
   tTab_prm tab_prm;
   -- Procedimento que recebera os valores
   procedure prc_prm ( p_tab_prm tab_prm ) is
      l_dHoje Date;
   begin
      dbms_output.put_line( '*************************************' );
      for c in 1..p_tab_prm.count
      loop
         if p_tab_prm(c).p_type = 'Date' then
            l_dHoje := To_date( p_tab_prm(c).p_value, p_tab_prm(c).p_format );
         end if;
         dbms_output.put_line( 'Param='   || p_tab_prm(c).p_param ||
                               ' Value='  || p_tab_prm(c).p_value ||
                               ' Type='   || p_tab_prm(c).p_type  ||
                               ' Format=' || p_tab_prm(c).p_format );
      end loop;
      dbms_output.put_line( '*************************************' );
      dbms_output.put_line( 'Total de parametros ' || p_tab_prm.count );
      dbms_output.put_line( '*************************************' );
   end;
begin
   -- Linha 1
   tTab_prm(1).p_param  := 'Nome:';
   tTab_prm(1).p_value  := 'Eduardo';
   tTab_prm(1).p_type   := 'Char';
   tTab_prm(1).p_format := null;
   -- Linha 2
   tTab_prm(2).p_param  := 'Hoje:';
   tTab_prm(2).p_value  := '27/05/2008 18:10:10';
   tTab_prm(2).p_type   := 'Date';
   tTab_prm(2).p_format := 'dd/mm/yyyy hh24:mi:ss';
   prc_prm( p_tab_prm => tTab_prm );
end;
/


Edu

Fabiano Arndt <[EMAIL PROTECTED]> escreveu:                             
Gleyson, eu já possuo algumas function/procedures em que uso
 collections, mas agora preciso de algo diferente.
 
 onde vou usar a function, não tenho como passar um array, tenho que
 passar os parâmetros diretamente.
 
 o que eu gostaria mesmo é criar uma function parecida com o GREATEST
 que retorna o maior valor da lista de argumentos,
 
 inclusive acho que essa função por hora já vai resolver meu problema e
 não irei nem precisar criar outra função.
 
 mas se alguem souber como criar uma função desse tipo, me avisem.
 
 valeu, abraço.
 
 Fabiano.
 
 2008/5/27 Gleyson Melo <[EMAIL PROTECTED]>:
 > Fabiano,
 >
 > Acredito que a melhor forma de resolver o seu problema seja estudar um
 > pouquinho de Collections do PL/SQL e receber, como parâmetro da função, uma
 > coleção de objetos (Sim, uma matriz).
 >
 > 2008/5/27 Fabiano Arndt <[EMAIL PROTECTED]>:
 >
 >> Bom dia pessoal,
 >>
 >> to com uma certa dificuldade para criar uma função que receba
 >> múltiplos parâmetros, ou seja
 >> uma função que eu possa passar quantos parâmetros eu quiser.
 >>
 >> por exemplo,
 >>
 >> func(1, 2, 3, 4, 5)
 >> ou
 >> func(10)
 >> ou apenas
 >> func()
 >> ou qualquer outro número de parâmetros
 >>
 >> gostaria também de saber como eu faria nesse caso pra saber quantos
 >> parâmetros foram passados para a function e como acessá-los
 >>
 >> uso 9i.
 >>
 >> obrigado,
 >> Fabiano.
 >>
 >>
 >
 > --
 > Atenciosamente,
 > Gleyson Melo
 > Oracle Database 10g Administrator Certified Professional
 >
 > [As partes desta mensagem que não continham texto foram removidas]
 >
 > 
 
     
                                       

       
---------------------------------
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]

Responder a