Usando Bulk Collect no PL/SQL
Olá,
No primeiro post do ano vamos relembrar um pouco de PL/SQL,assim eu não esqueço !
Como SYS :
Este é um detalhe para acessar a view dba_objects via procedure :
Vamos ao trabalho!!
- Criação da tabela de exemplo que receberá os dados da procedure que executará o insert com bulk collect :
- Criação da procedure
Vamos executar agora!
Podemos usar também a clausula LIMIT no bulk collect principalmente quando temos uma quantidade muito grande de dados.Por exemplo se tivéssemos 1.000.000 ao invés das nossas 30.000 linhas poderíamos colocar um commit a cada 50.000 linhas inseridas.Isso é legal de usar principalmente para não estourarmos a nossa tablespace de undo facilemte gerenciando a frequencia de commits.
Vamos fazer um exemplo com 50.000 linhas inserindo-as efetuando commit a cada 10.000 linhas inseridas :
- Antes um limpezinha !
- criando a procedure
- executando a procedure
- Contando as linhas inseridas :
Por hoje é só.Choveu em São Paulo e quem trabalha por aqui conhece como é!
Obs. Não entramos em nenhum conceito de tuning de código PL/SQL .Mas vale a pena você dar uma revisada nos seus cursores simples que manipulam milhões de linhas uma de cada vez e ninguém sabe porque demora tanto!!!Já reduzi rotinas que duravam horas para minutos ou até segundos ! Deixa isto para o próximo post.
Abs,
Julio Cesar Correa
No comments:
Post a Comment