2012/1/18, Marcelo Silva (IG) <[email protected]>: > Pessoal esse UPDATE esta sem fim... mas não entendi porque o mesmo SQL > funciona normalmente > > Olha o UPDATE > > update mv_vendas_itens set cod_key_pre = coalesce(b.cod_key, 0) > from mv_vendas_itens as a > inner join mv_vendas_pre_itens b on(b.cod_id = a.cod_id) > and(b.pedido = a.pedido) > and(b.codigo = a.codigo) > and(b.valor_ven = a.valor_ven) > and(b.obs not in('C')) > where (a.obs not in('C')) > > Aqui o SELECT > > select b.cod_key, b.pedido, b.codigo, b.valor_ven, a.* from mv_vendas_itens > a > inner join mv_vendas_pre_itens b on(b.cod_id = a.cod_id) > and(b.pedido = a.pedido) > and(b.codigo = a.codigo) > and(b.valor_ven = a.valor_ven) > and(b.obs not in('C')) > where (a.obs not in('C')) > > O Select vem rapidinho, mas o Update fica em loop >
Veja a definição do comando update: http://www.postgresql.org/docs/current/interactive/sql-update.html Creio que deva ser: UPDATE mv_vendas_itens a SET cod_key_pre = coalesce(b.cod_key, 0) FROM mv_vendas_pre_itens b WHERE (b.cod_id = a.cod_id) AND (b.pedido = a.pedido) AND (b.codigo = a.codigo) AND (b.valor_ven = a.valor_ven) AND (b.obs not in('C')) AND (a.obs not in('C')); Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
