Multiplos insert no Oracle


Algumas vezes nos deparamos para fazer a inserção de dados oriundos de um select no Oracle, seja simplesmente em PL/SQL ou no Forms. Fazer um cursor e percorrer o loop e ir inserindo um a um é um tanto incômodo pois o grande número de inserções no banco de dados irá causar lentidão no processo.

Uma forma muito mais elegante e eficiente e desconhecida, principalmente por desenvolvedores iniciantes é a possibilidade de realizar o insert diretamente a partir do select. Um exemplo simples da operação seria esse:

insert into tabela_2
 select cod_ativo, desc_ativo, valor, disp from tabela_1

Bem simples, é lógico que os campos a serem inseridos na tabela_2 do nosso exemplo devem ser iguais aos campos retornados na select da tabela_1.

Esse simples procedimento pode ser realizado tanto no próprio PL/SQL como dentro do Forms da Oracle.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.