[firebase-br] RES: Merge com condição na tabela Fonte
Sofia Bonato de Moraes - EES
sbonato em ees.com.br
Qui Fev 23 16:05:02 -03 2017
Já encontrei a solução, fazendo o filtro em um subselect usado como tabela
Fonte.
Obrigada.
-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Sofia Bonato de
Moraes - EES
Enviada em: quinta-feira, 23 de fevereiro de 2017 15:47
Para: 'FireBase' <lista em firebase.com.br>
Assunto: [firebase-br] Merge com condição na tabela Fonte
Pessoal, tenho a seguinte tabela:
Tmpp_lote
Cod transmissão cod_cli lote desc
'1 ', '000001', '001', '001'
'1 ', '000001', '001', '001'
'000000000000000000000000000017', '000004', '001', '001'
'000000000000000000000000000019', '000004', '001', '001'
'000000000000000000000000000020', '000004', '001', '001'
A qual quero usar como fonte para preencher a tabela tdp_lote.
Estou usando o merge:
merge into tdp_lote t1 using tmpp_lote t2 on
t2.cod_cliente = t1.cod_cliente and
t2.cod_lote = t1.cod_lote AND
t2.cod_transmissao='1'
when matched then update set
t1.descricao = t2.descricao
when not matched then
insert (t1.cod_cliente, t1.cod_lote, t1.descricao)
values( t2.cod_cliente, t2.cod_lote, t2.descricao)
Porém não funciona, porque ele não está considerando a condição
“t2.cod_transmissao='1'” e aí dá erro porque, ao considerar todos os
registros, dá duplicidade de chave. Encontrei no site
https://firebirdsql.org/refdocs/langrefupd25-merge.html exatamente este
exemplo, mas não funciona.
Alguém tem alguma ideia?
Obg
Sofia.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas:
http://www.firebase.com.br/pesquisa_lista.html
Mais detalhes sobre a lista de discussão lista