vixe! ;)

Explica ai melhor "em portugues" o que voce quer testar que a lista 
escreve a função.



--- Em oracle_br@yahoogrupos.com.br, Rafael <[EMAIL PROTECTED]> escreveu
> Olá, consegui avanços, abaixo o código de uma função inútil, é soh 
didatica...
> 
> number_t é um tipo "table of number"
> -----------------------
> create or replace function teste_recursivo(valor in number) return
> number_t pipelined is
>   TYPE curtype IS REF CURSOR;
>   recCursor curtype;
>   novo_valor number;
>   strSql varchar2(300);
> begin
>   strSql := 'select '|| valor || ' + 1 from dual UNION ALL 
select '||
> valor || ' + 3 from dual ';
>   if valor < 10 then
>      open recCursor for strSql;
>      loop
>          fetch recCursor into novo_valor;
>          EXIT WHEN recCursor%NOTFOUND;
>          pipe row(novo_valor);
> --  o meu problema agora está aqui, se eu tento gerar a 
recursividade
> chamando a função
> -- dessa forma, ele retorna o erro: "teste_recursivo is not a
> procedure or in undefined"
> --     teste_recursivo(novo_valor) ;
> -- e se eu chamo de outra maneira, considerando que eu declarei lah 
em cima uma
> -- variavel retFunc como sendo number_t, os valores não são exibidos
> depois quando
> -- eu executo essa função (select * from table(teste_recursivo(5));)
> --  select teste_recursivo(novo_valor) into retFunc from dual;
>      end loop;
>      close recCursor;
>   end if;
>   return;
> end teste_recursivo;
> 
> -----------------------
> 
> Gostaria que me alguem me indicasse onde eu posso encontrar ou como 
eu
> posso fazer para chamar a função dentro dela mesmo, considerando que
> eh uma função pipelined.
> Na verdade, eu consigo gerar a recursividade, só que apenas os 
valores
> da primeira chamada da função, a que eu faço, são retornados, os
> valores quando ela esta se chamando não são retornados
> 
> Grato,
> 
> -- Rafael
> 
> 
> Em 22/11/05, Marcio Portes<[EMAIL PROTECTED]> escreveu:
> > Acho que voce quer função pipelined.
> > veja exemplo em:
> > http://mportes.blogspot.com/2005/05/pipelined-function.html
> >
> > --- Em oracle_br@yahoogrupos.com.br, Rafael <[EMAIL PROTECTED]> 
escreveu
> > > Olá,
> > >
> > > alguém poderia me enviar um exemplo de um função recursiva que 
retorne
> > > várias tuplas?
> > >
> > > explicando melhor, a cada chamada da função, ela deve retornar 1
> > > valor, então chama-lá recursivamente até um valor n, tendo no 
final n
> > > linhas retornadas.
> > >
> > > Grato,
> > >
> > > -- Rafael
> >
> >
> >
> >
> > ------------------------------------------------------------------
--------------------------------------------------------
> > Atenção! As mensagens deste grupo são de acesso público e de 
inteira responsabilidade de seus remetentes.
> > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > ------------------------------------------------------------------
--------------------------------------------------------
_____________________________________________________________________
> > Area de download do grupo - 
http://www.4shared.com/dir/101727/a4dcc423
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >




--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________
Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a