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