Extrair Inserts

Extraindo INSERTs a partir de um SELECT

Atualmente, várias Ferramentas para Gerenciamento de Banco de Dados possuem um conjunto vasto de recursos e facilidades que aumentam a produtividade a aceleram o desenvolvimento de sistemas com bancos de dados. Entre estes, não poderia faltar a opção de extrair INSERTs de um conjunto de registros, a final, se trata de uma operação básica e comumente utilizada. O Oracle SQLDeveloper é um exemplo de ferramenta que possui esta operação e facilita muito a vida do usuário (Desenvolvedor/Analista/Gerente de Configuração). Porém, como nem tudo no desenvolvimento e análise de sóftware são flores, há ferramentas como o PGAdmin, para o banco de dados PostgreSQL, que não oferecem esta facilidade. Pois bem, a fim de facilitar a vida de quem usa o PGAdmin, linha de comando ou outra ferramenta, que não dê suporte a esta operação, aí vai um exemplo de como extrair os inserts desejados:

SELECT
 'INSERT INTO rh.pessoa (id_pessoa, nome, idade) VALUES (' || id_pessoa || ', \'' || nome || '\', ' || idade || ');'
FROM
 rh.pessoa;

Essa extração de inserts a partir de select é geralmente realizada quando se deseja extrair informações de um banco e inserir em outro. Por exemplo, durante uma operação de merge de banco de dados.

Se você quiser saber mais sobre o assunto, sugiro estudar sobre: SQL, Banco de dados, SGBD, Scripts DDL e Scripts DML.