[firebase-br] Merge com condição na tabela Fonte
Sofia Bonato de Moraes - EES
sbonato em ees.com.br
Qui Fev 23 15:47:23 -03 2017
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.
Mais detalhes sobre a lista de discussão lista