Então... na verdade eu precisaria fazer o select NO type.
Algo do tipo: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; --Aqui meu select For n in ( Select sum(coluna1) soma, coluna2 >From tab Group by coluna2) loop --aqui qualquer código End loop; end; Entendeu? Pelo menos até agora não descobri nada do tipo pra fazer esse select. Valeu! Abraços. De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Robert Anderson Enviada em: sexta-feira, 14 de novembro de 2008 10:21 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Tabela temporária Por que não conseguiria? Imagine o seguinte: procedure demo( ) is TYPE t_rec_demo IS RECORD (num1 number, num2 number); TYPE t_vet_tar is table of tarifas.valor%type index by binary_integer; tab t_vet_tar; begin select max(coluna1) + 3/2, avg(coluna3) bulk collect into tab from tabela_demo order by 1; for i in tab.first..tab.last loop dbms_output.put_line(tab(i).num1 || ' ' || tab(i).num2); end; end; Não resolveria o seu problema? 2008/11/14 José Costacurta <[EMAIL PROTECTED] <mailto:jose_costacurta%40yahoo.com.br> > > Ótima idéia Robert. > > Porém, eu não conseguiria fazer um select nesse type. E é essa minha > necessidade, fazer um select somando e agrupando valores. > > Valeu. Abraço. > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br> [mailto: > oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br>] Em > nome de Robert Anderson > Enviada em: sexta-feira, 14 de novembro de 2008 10:02 > > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br> > Assunto: Re: RES: [oracle_br] Tabela temporária > > Em seu caso, usaria uma Tabela PL/SQL (Hash) > > TYPE <nome do tipo> IS TABLE OF <tipo dos valores> INDEX BY <tipo da > chave>; > > ou vetor: > > TYPE <nome do tipo> IS VARRAY <tamanho máximo> OF <tipo do elemento>; > > Você pode fazer algo do tipo: > > select coluna bulk collect into <nome do tipo tabela> > from tabela; > > Fica muito simples e extremamente eficiente. > > Até mais, > > Robert > > 2008/11/14 Leonardo Rezende <[EMAIL PROTECTED] <mailto:yahoo%40lrezende.eti.br> <yahoo%40lrezende.eti.br> > <mailto:yahoo%40lrezende.eti.br <yahoo%2540lrezende.eti.br>> > > > > Podes tentar com o EXECUTE IMMEDIATE... > > > > José Costacurta escreveu: > > > > > > Wellerson, bom dia. > > > > > > Mas eu consigo criar essa tabela temporária dentro de uma procedure ou > > > tenho > > > que deixá-la criada já? > > > > > > Eu tentei criar dentro da procedura mas deu erro. > > > > > > Valeu. > > > > > > Abraço. > > > > > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br><mailto: > oracle_br%40yahoogrupos.com.br <oracle_br%2540yahoogrupos.com.br>> > > > > <mailto:oracle_br%40yahoogrupos.com.br<oracle_br%2540yahoogrupos.com.br> > <oracle_br%2540yahoogrupos.com.br> > > > > > > [mailto:oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br <oracle_br%2540yahoogrupos.com.br>> > > > > > <mailto:oracle_br%40yahoogrupos.com.br <oracle_br%2540yahoogrupos.com.br> > <oracle_br%2540yahoogrupos.com.br>>] > > Em > > > nome de Wellerson Leite de Araújo > > > Enviada em: sexta-feira, 14 de novembro de 2008 09:22 > > > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br <oracle_br%2540yahoogrupos.com.br>> > <mailto: > > oracle_br%40yahoogrupos.com.br <oracle_br%2540yahoogrupos.com.br>> > > > > Assunto: Res: [oracle_br] Tabela temporária > > > > > > José, > > > > > > Utilize tabelas temporárias. Através do seguinte comando CREATE GLOBAL > > > TEMPORARY TABLE <nome da tabela>. Este recurso permite que os dados > > > databela > > > estejam disponíveis enquanto você está conectado, ou enquanto você não > > > finaliza a transação. > > > Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) > > > Neste caso, após o um commit todas as linhas da tabela TEMP serão > > > descartadas. Se você quiser manter os dados até você se desconectar da > > > instância faça como no exemplo abaixo: > > > Ex: CREATE GLOBAL TEMPORARY TABLE temp (id NUMBER, nome VARCHAR2(30)) > ON > > > COMMIT PRESERVE ROWS; > > > > > > Vale ressaltar que as outras sessões não conseguem "enxergar" as > > > linhas que > > > estão na tabela TEMP. Não existe concorrência por lock e as alterações > > > impostas aos dados desta tabela não geram log. > > > > > > Att, > > > Wellerson > > > > > > "Não vou deixar me embrutecer, eu acredito nos meus ideais. Podem até > > > maltratar o meu coração, que meu espírito ninguém vai conseguir > > > quebrar..." > > > (Legião Urbana) > > > > > > "As idéias estão no chão, você tropeça e acha a solução..." > > > (Titãs) > > > > > > ________________________________ > > > De: José Costacurta <[EMAIL PROTECTED] <mailto:jose_costacurta%40yahoo.com.br> <jose_costacurta%40yahoo.com.br> > <mailto:jose_costacurta%40yahoo.com.br <jose_costacurta%2540yahoo.com.br>> > > > > <mailto:jose_costacurta%40yahoo.com.br<jose_costacurta%2540yahoo.com.br> > <jose_costacurta%2540yahoo.com.br> > > > > > > > <mailto:jose_costacurta%40yahoo.com.br <jose_costacurta%2540yahoo.com.br> > <jose_costacurta%2540yahoo.com.br>> > > > > > > Para: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br> > <mailto:oracle_br%40yahoogrupos.com.br <oracle_br%2540yahoogrupos.com.br>> > > > > <mailto:oracle_br%40yahoogrupos.com.br<oracle_br%2540yahoogrupos.com.br> > <oracle_br%2540yahoogrupos.com.br> > > > > > > > <mailto:oracle_br%40yahoogrupos.com.br <oracle_br%2540yahoogrupos.com.br> > <oracle_br%2540yahoogrupos.com.br>> > > ; > > > [EMAIL PROTECTED] <mailto:OraOracle%40yahoogrupos.com.br> <OraOracle%40yahoogrupos.com.br> <mailto: > OraOracle%40yahoogrupos.com.br <OraOracle%2540yahoogrupos.com.br>> > <mailto:OraOracle%40yahoogrupos.com.br <OraOracle%2540yahoogrupos.com.br> > <OraOracle%2540yahoogrupos.com.br> > > > > > > <mailto:OraOracle%40yahoogrupos.com.br<OraOracle%2540yahoogrupos.com.br> > <OraOracle%2540yahoogrupos.com.br> > > > > > > > Enviadas: Sexta-feira, 14 de Novembro de 2008 9:36:06 > > > Assunto: [oracle_br] Tabela temporária > > > > > > Bom dia gente. > > > > > > Gostaria de saber se existe algum método de criar "tabelas virtuais" em > > > tempo de execução de uma procedure, ou seja, uma tabela que não seja > > > criada > > > fisicamente (somente em memória) e ao término da procedure, ela "suma". > > > > > > O problema é que preciso fazer um monte de processamento durante uma > > > procedure e guardar os resultados para depois poder fazer um select > nesse > > > resultado agrupando e somando valores. > > > > > > Se alguém souber e puder me ajudar eu agradeço. > > > > > > Abraço. > > > > > > José Costacurta. > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > > http://br.maisbuscados.yahoo.com <http://br.maisbuscados.yahoo.com> > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > ------------------------------------ > > > > > > ---------------------------------------------------------- > > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de > > inteira responsabilidade de seus remetentes. > > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > > > > ---------------------------------------------------------- > > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » > Procedure > > » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > > http://www.oraclebr.com.br/ > > ---------------------------------------------------------- > > Links do Yahoo! Grupos > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]