Ir para conteúdo
Fórum Script Brasil
  • 0

[Dúvida] Insert em uma base dando Select em outra PL/pgsql


ruanramon

Pergunta

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

  • 0

man isso q você ta falando acho q é um select insert.

Eu já fiz isso em FirebirdSql, não sei se funciona no PostgreSql.

bom... mas fica ai o exemplo:

insert into cadastro2 
 select codigo as codigoCadastro2, 
 f.funcionarios, 
 '999' as causadesligamento, 
 '01.01.2012' as data, 
 'teste' as obs 
 from cadastro1

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...