Marcio Gostei desse exemplo, então tentei fazer um teste aqui.. mas dá erro. Estou conectada com usuário dba do banco..
1 create or replace procedure invalido ( p_refx out 2 sys_refcursor ) 3 is 4 begin 5 open p_refx for select object_name from dba_objects where status = 'INVALID'; 6* end; SQL> / Advertência: Procedimento criado com erros de compilação. SQL> show errors Erros para PROCEDURE INVALIDO: LINE/COL ERROR -------- ----------------------------------------------------------------- 5/25 PL/SQL: SQL Statement ignored 5/61 PL/SQL: ORA-00942: a tabela ou view não existe SQL> ----- Original Message ----- From: Marcio Portes To: [email protected] Sent: Monday, November 21, 2005 8:32 PM Subject: Re: [oracle_br] Procedure (ou Function) retornando um Select [EMAIL PROTECTED]> create or replace procedure p ( p_refx out sys_refcursor ) 2 is 3 begin 4 open p_refx for select * from emp; 5 end; 6 / Procedure created. [EMAIL PROTECTED]> show error No errors. [EMAIL PROTECTED]> [EMAIL PROTECTED]> var x refcursor [EMAIL PROTECTED]> [EMAIL PROTECTED]> exec p(:x ) PL/SQL procedure successfully completed. [EMAIL PROTECTED]> [EMAIL PROTECTED]> print x EMPNO ENAME JOB MGR HIREDATE ------------- ---------- --------- ------------- ------------------- 7369 SMITH CLERK 7902 17/12/1980 00:00:00 7499 ALLEN SALESMAN 7698 20/02/1981 00:00:00 7521 WARD SALESMAN 7698 22/02/1981 00:00:00 7566 JONES MANAGER 7839 02/04/1981 00:00:00 7654 MARTIN SALESMAN 7698 28/09/1981 00:00:00 7698 BLAKE MANAGER 7839 01/05/1981 00:00:00 7782 CLARK MANAGER 7839 09/06/1981 00:00:00 7788 SCOTT ANALYST 7566 19/04/1987 00:00:00 7839 KING PRESIDENT 17/11/1981 00:00:00 7844 TURNER SALESMAN 7698 08/09/1981 00:00:00 7876 ADAMS CLERK 7788 23/05/1987 00:00:00 7900 JAMES CLERK 7698 03/12/1981 00:00:00 7902 FORD ANALYST 7566 03/12/1981 00:00:00 7934 MILLER CLERK 7782 23/01/1982 00:00:00 14 rows selected. Nícolas Santana wrote: > Vc tem algum exemplo para o 9i? Pode ser bem simples mesmo... > > > > > > > ----- Original Message ----- > From: Salvio Padlipskas > To: '[email protected]' > Sent: Monday, November 21, 2005 3:21 PM > Subject: RES: [oracle_br] Procedure (ou Function) retornando um Select > > > Leonardo, > > Existem diferenças nas versões, pois na 9i em diante vc tem > a possibilidade de utilizar o SYS.REFCURSOR. > > Segue abaixo um bom exemplo em 8i > > [ ]'s > Salvio Padlipskas > > **************************************************************************** > ************************* > **************************************************************************** > ************************* > **************************************************************************** > ************************* > create or replace package pkg_teste as > type refcur is ref cursor; > end; > / > > create or replace function fun_teste( p_cod_emp in number) return > pkg_teste.refcur as > l_cursor pkg_teste.refcur; > begin > open l_cursor for select * from s_emp where cod = p_cod_emp; > return l_cursor; > end; > / > > > variable x refcursor > set autoprint on > begin > :x := fun_teste(10); > end; > / > **************************************************************************** > ************************* > **************************************************************************** > ************************* > **************************************************************************** > ************************* > > > > -----Mensagem original----- > De: leonardosmartins [mailto:[EMAIL PROTECTED] > Enviada em: segunda-feira, 21 de novembro de 2005 15:06 > Para: [email protected] > Assunto: [oracle_br] Procedure (ou Function) retornando um Select > > > Pessoal, > > Alguém teria um exemplo para me mandar de uma procedure (ou function) > que simplesmente retornasse um select (um recordset)? > > Tentei montar algo aqui mais não deu certo. > Eu queria algo que não precisasse passar nada como parâmetro. Tentei > montar um procedure simples utilizando o execute imediate mais não deu > certo. > > Grato pela ajuda. > Leonardo Martins > > > > > > ---------------------------------------------------------------------------- > ---------------------------------------------- > 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/[email protected]/ > ---------------------------------------------------------------------------- > ----------------------------------------------______________________________ > _______________________________________ > Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 > Links do Yahoo! Grupos > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -------------------------------------------------------------------------------------------------------------------------- > 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/[email protected]/ > --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ > Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 > > > Yahoo! Grupos, um serviço oferecido por: > PUBLICIDADE > > > > > ------------------------------------------------------------------------------ > Links do Yahoo! Grupos > > a.. Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/oracle_br/ > > b.. Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED] > > c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > -------------------------------------------------------------------------------------------------------------------------- > 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/[email protected]/ > --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ > 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/[email protected]/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ Area de download do grupo - http://www.4shared.com/dir/101727/a4dcc423 Yahoo! Grupos, um serviço oferecido por: PUBLICIDADE ------------------------------------------------------------------------------ Links do Yahoo! Grupos a.. Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ b.. Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -------------------------------------------------------------------------------------------------------------------------- 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/[email protected]/ --------------------------------------------------------------------------------------------------------------------------_____________________________________________________________________ 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
