Utilizar dados de um cursor que está dentro de uma function

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
Dionisio_Junior
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qui, 17 Abr 2014 9:44 pm

No banco de dados do sistema da empresa em que trabalho existe uma função que pretendo usar para desenvolver uma aplicação para o site da empresa.

A função tem mais ou menos essa estrutura:
Nome: Funcao_Cad_Usuario
Return Retorno
Data Inicial IN date
Data Final IN date
Cod Usuario IN date
Cursor OUT RefCursor

A minha pergunta é a seguinte: Existe a possibilidade de eu executar uma select pra puxar os dados desse cursor, tipo como se fosse uma tabela? Tipo assim:

Selecionar tudo

select Funcao_Cad_Usuario('01/01/2014','31/01/2014','254897',????=>aqui é minha dúvida) from dual
.

Não sei se esse é o comando correto,mas gostaria de manipular os dados que o cursor traz. Alguém pode me ajudar?
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 319
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

Amigo, estou sem tempo para postar um exemplo mais detalhado, mas se bem entendi o que você precisa a solução está em:

* Functions Pipelined;
* Bulk Collection;

Dá uma pesquisada nesta linha, qualquer dúvida poste ai.

Att.,
wesleyaferreira
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qui, 03 Abr 2014 11:44 am

Olha não compreendi a sua pergunta. Você pretende gerar mais de um cursor ou usar alguma informação da tabela?
Avatar do usuário
fbifabio
Moderador
Moderador
Mensagens: 199
Registrado em: Ter, 22 Fev 2011 1:51 pm
Localização: São Paulo - SP
Contato:
Fábio Prado
www.fabioprado.net

@Dionisio_Junior,


A única forma de retornar dados de uma função em múltiplas linhas com múltiplas colunas, como se fosse uma tabela, é criando uma Pipelined Table Function. Para aprender a criar este tipo de função leia o artigo do link abaixo:
http://www.fabioprado.net/2010/12/pipel ... -para.html

[]s
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 21 visitantes