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í.
>


Responder a