Como INSERT INTO tabela com várias colunas da consulta dinâmica?
Igual aesta pergunta anterior para um mapeamento individual, preciso de uma solução para várias colunas na origem e no destino.
Ainda trabalhando com o Postgres 9.4.4, a consulta e o esquema são modificados e são os seguintes:
Digamos que eu tenho essas duas tabelasTable1
eTable2
:
Create table Table1(col1 int, col2 varchar(100), col3 varchar(100));
Create table Table2(col1 int, col2 varchar(100), col3 varchar(100));
Há outra mesaTable3
armazenando uma fórmula para migrar dados deTable1
paraTable2
:
CREATE TABLE Table3 (
tbl_src character varying(200),
col_src character varying(500),
tbl_des character varying(200),
col_des character varying(100),
condition character varying(500)
);
Insert into Table3(tbl_src, col_src, tbl_des, col_des, condition)
VALUES ('Table1','col1','Table2','col1', 'WHERE col1>=1')
, ('Table1','col2','Table2','col2', NULL)
, ('Table1','col3','Table2','col3', NULL);
Como compilar essa fórmula em uma consulta dinâmica e inserir na tabela de destino?