💡 Como utilizar o comando INSERT com SELECT no PostgreSQL
O objetivo de utilizar o INSERT com SELECT normalmente é inserir um registro em uma tabela obtendo os dados de outra.
Imagine que tenho uma tabela no meu banco de dados chamada "item" com as colunas ("descricao", "quantidade" e "valor") e foi criada uma nova tabela chamada "item_venda" com as colunas ("descricao", "quantidade", "valor", "valortotal" e "excluido"), agora todos os registros que estavam na tabela "item" precisam ir para a tabela "item_venda".
Nesse caso podemos usar o seguinte comando:
INSERT INTO item_venda (descricao, quantidade, valor, valortotal, excluido)
SELECT descricao, quantidade, valor, (quantidade * valor), false FROM item;
Com esse comando estamos inserindo na tabela "item_venda" todos os registros retornados pelo SELECT da tabela "item".
Note que é necessário que o SELECT retorne exatamente as colunas informadas no INSERT, inclusive na mesma ordem.
Espero que tenha gostado do conteúdo ;)
Fonte: https://www.tabnews.com.br