Marcio, A resposta para essa questão é que o programador que irá implementar isso precisa alterar esses dados e retornar para uma aplicação .NET em forma de relatório.
Cleber -----Mensagem original----- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Marcio R Portes Enviada em: quinta-feira, 7 de julho de 2005 01:17 Para: oracle_br@yahoogrupos.com.br Assunto: Re: [oracle_br] Re: PL Table Cleber, por que ao inves de tudo isso voce nao faz simplesmente: [Eu nao compilei o codigo] create or replace procedure pr_teste ( cursor0 out sys_refcursor ) as begin open cursor0 for select empno, ename, sal from emp; end; / var x refcursor exec pr_teste( :x ) print x copia e cola isso no sqlplus. Na sua aplicacao voce vai passar o x (ref cursor) para a procedure. abracos, -- Marcio Portes http://mportes.blogspot.com jlchiappa wrote: > Hmm, algo está estranho aí : vc está declarando uma table of (ie, uma > PL/SQL table) , e mais à frente está usando o método .EXTEND , que > tipicamente é usado com SQL TYPES , pois PL/SQL Tables são esparsas > (ie, só se criam os elementos que vc pede), portanto NÂO precisa > extender ???? Algo não está "batendo" bem nesse código, a impressão é > que vc está misturando o que é tipo PL/SQL com o que é tipo SQL .... > Sugiro que vc dê uma estudada na thread > http://asktom.oracle.com/pls/ask/f? > p=4950:8:::::F4950_P8_DISPLAYID:246014735810 pra discussão de tipos > SQL e PL/SQL (normalmente retornar um resultset pra array se faz em > tipo SQL, já que aí o banco conhece o tipo seja em SQL, seja em > PLSQL), e em http://asktom.oracle.com/pls/ask/f? > p=4950:8:::::F4950_P8_DISPLAYID:10369303150185 para as questões disso > em relação à dblinks. > > ==>> E importante : se é na mesma sessão que vc quer retornar o > resultset, a maneira APROPRIADA é via global temporary table, ** não > ** precisa de COISA ALGUMA dessas complicações, ** não ** tem limite > prático de tamanho, vc pode fazer TODA e QUALQUER manipulação via SQL > (inclusive ordenar, agrupar, etc, etc). > > > []s > > Chiappa > > --- Em oracle_br@yahoogrupos.com.br, "Cleber Roberto Marques" > <[EMAIL PROTECTED]> escreveu > >>Pessoal, boa tarde ! >> >>Estamos com um problemão aqui na empresa devido à uma PL Table. >> >>O Lance é que não conseguimos retornar os dados da mesma através de > > um cursor OUT. > >>Quando compilo a PROCEDURE (similar para teste) abaixo é dado o > > seguinte erro: > >>ORA-22905: cannot access rows from a non-nested table item >> >>E mesmo utilizando um cast no table do open cursor0 -- que seria > > assim: table(cast(v_employees_type as r_employees_type)) -- não > funciona, aí ele gera o erro: > >>ORA-00902: invalid datatype >> >>Alguém jah trabalhou com isso e teria alguma idéia? >> >>Obrigado! >> >> >>CREATE OR REPLACE PROCEDURE PR_TESTE (cursor0 OUT sys_refcursor) as >> >>TYPE r_employees_type IS RECORD ( >> employee_id employees.employee_id%type, >> first_name employees.first_name%type, >> salary employees.salary%type); >> >>type t_employees_type is table of r_employees_type; >> >>v_employees_type t_employees_type := t_employees_type(); >> >>c number; >> >>begin >> null; >> c:= 1; >> >> for x in (select employee_id, first_name, salary from > > employees) loop > >> v_employees_type.extend; >> v_employees_type(c).employee_id := x.employee_id; >> v_employees_type(c).first_name := x.first_name; >> v_employees_type(c).salary := x.salary; >> >> c:= c+1; >> end loop; >> >> open cursor0 for >> select >> employee_id, >> first_name, >> salary >> from >> table(v_employees_type); >> >> >>end; >> >> >>At. >>Cleber R. Marques >>Administrador de Bancos de Dados >>Programmers Informática Ltda > > > > > > ______________________________________________________________________ > > Cancelar assinatura...: [EMAIL PROTECTED] > Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] > Fernanda Damous [EMAIL PROTECTED] > Alisson Aguiar [EMAIL PROTECTED] > ______________________________________________________________________ > http://br.groups.yahoo.com/group/oracle_br/ > ______________________________________________________________________ > > Sair da Lista...: [EMAIL PROTECTED] > Links do Yahoo! Grupos > > > > > > > > ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] Links do Yahoo! Grupos ______________________________________________________________________ Cancelar assinatura...: [EMAIL PROTECTED] Moderadores da lista....:Dorian Anderson Soutto [EMAIL PROTECTED] Fernanda Damous [EMAIL PROTECTED] Alisson Aguiar [EMAIL PROTECTED] ______________________________________________________________________ http://br.groups.yahoo.com/group/oracle_br/ ______________________________________________________________________ Sair da Lista...: [EMAIL PROTECTED] 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