Boa tarde pessoal, estou passando por um tremendo problema que já pesquisei tanto e ainda não solucionei. Estou fazendo um Data Warehouse e estou na etapa do ETL 2, sendo que não estou conseguindo fazer um INSERT avançado pelo PostgreSQL utilizando PL/pgsql, vou dar um exemplo (MySQL) da query de inserção, onde se dá um SELECT numa base de dados (trab_webvendas) e insere em outra base (dm_webvendas). Gostaria muito que alguém conseguisse transcrever esse exemplo utilizando PL/pgsql.
Pergunta
ruanramon
Boa tarde pessoal, estou passando por um tremendo problema que já pesquisei tanto e ainda não solucionei. Estou fazendo um Data Warehouse e estou na etapa do ETL 2, sendo que não estou conseguindo fazer um INSERT avançado pelo PostgreSQL utilizando PL/pgsql, vou dar um exemplo (MySQL) da query de inserção, onde se dá um SELECT numa base de dados (trab_webvendas) e insere em outra base (dm_webvendas). Gostaria muito que alguém conseguisse transcrever esse exemplo utilizando PL/pgsql.
INSERT INTO dm_webvendas.dmCliente (CodCliente, NomeCliente, CargoCliente, EnderecoCliente, CidadeCliente, UfCliente, PaisCliente, ContatoCliente, TipoCliente, FoneCliente, FaxCliente, ObsCliente, VersaoCliente , DtCargaCliente)
SELECT
-- Campos da tabela de Origem
tc.codigo,
IFNULL (tc.nome,'sem nome'), -- Se o nome não for nulo use tc.nome, se for nulo coloque 'sem nome'
IFNULL (tc.cargo,'sem cargo'),
IFNULL (tc.endereco,'sem teto'),
IFNULL (tcid.nome,'sem cidade'),
IFNULL (tcid.uf,'NA'),
IFNULL (tcid.pais,'NA'),
IFNULL (tc.contato,'sem contato'),
IFNULL (tc.tipo,'NA'),
IFNULL (tc.fone,'(XX) XXXX-XXXX'),
IFNULL (tc.fax,'(XX) XXXX-XXXX'),
IFNULL (tc.obs,'sem obs'),
1,
DtAtual -- parâmetro de entrada da procedure
FROM trab_webvendas.TrabCliente tc, trab_webvendas.TrabCidade tcid
WHERE tcid.codigo = tc.cidade and
NOT EXISTS ( SELECT dwc.CodCliente -- não existe na tabela destino
FROM dm_webvendas.dmCliente dwc
WHERE dwc.CodCliente = tc.codigo);
Agradeço de coração quem me der uma luz!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.