Dê uma olhada na cláusula LIMIT Mais informações em:
http://www.oracle.com/technology/oramag/oracle/08-mar/o28plsql.html Alex Zaballa --- Em oracle_br@yahoogrupos.com.br, Eduardo <eduardo.pa...@...> escreveu > > Boa tarde turma! > > Minha dúvida é sobre bulk collect em pl/sql. > > Tem como controlar o tamanho do tabela utilizada? Pois eu rodei o > código abaixo e simplesmente sentei o servidor de desenvolvimento. A > tabela tem mais 200 milhões de registros. > Ou seria melhor fazer usando cursor? > > > CREATE OR REPLACE PROCEDURE PF2.geranomefonetizado2 > IS > > TYPE cpf_aat is table of pf2.pessoa_fisica.cpf%TYPE INDEX BY PLS_INTEGER; > TYPE nome_aat is table of pf2.pessoa_fisica.nome%TYPE INDEX BY PLS_INTEGER; > > cpf_data cpf_aat; > nome_data nome_aat; > > procedure retrieve_info > is > begin > select cpf, nome > bulk collect into cpf_data, nome_data > from pf2.pessoa_fisica; > > end; > > procedure add_fonetizado > is > begin > forall i IN cpf_data.FIRST..cpf_data.LAST > insert into pf2.nome_fonetizado (cpf,NOME_FONETIZADO) > values (cpf_data(i),fonetizar(nome_data(i))); > > end; > > begin > retrieve_info; > add_fonetizado; > > end; > / > > Obrigado por alguma dica aí. >