Não há motivo para utilizar o aliás no update, pode retirá-lo, veja que em
momento algum foi necessário a utilização dele nos campos componemttype ou
mesmo no feature.

[]´s

2009/7/14 Rafael do Nascimento <[email protected]>

> Fala, galera! Eu estou tentando migrar o sistema interno da minha empresa.
> Um dos arquivos da migração contem o seguinte sql:
>
> update pp_product_bomline pbl
> set componenttype =
>    (select  (case
>               when mbl.bomtype = 'O' then 'OP'
>               when mbl.bomtype in ('1','2','3','4','5','6','7','8','9')
> then 'VA'
>               else 'CO'
>             end)
>     from m_product_bom mbl, pp_product_bom pb, pp_product_bomline pbl2
>     where pbl2.pp_product_bomline_id = pbl.pp_product_bomline_id
>           and pb.m_product_id = mbl.m_product_id
>           and pbl2.pp_product_bom_id = pb.pp_product_bom_id
>           and mbl.m_productbom_id = pbl2.m_product_id) ,
>     feature =
>    (select  (case
>               when mbl.bomtype in ('1','2','3','4','5','6','7','8','9')
>                     then (select name
>                           from ad_ref_list
>                           where ad_reference_id = 279
>                           and value = mbl.bomtype)
>               else null
>             end)
>     from m_product_bom mbl, pp_product_bom pb, pp_product_bomline pbl2
>     where pbl2.pp_product_bomline_id = pbl.pp_product_bomline_id
>           and pb.m_product_id = mbl.m_product_id
>           and pbl2.pp_product_bom_id = pb.pp_product_bom_id
>           and mbl.m_productbom_id = pbl2.m_product_id)
> where exists
>    (select *
>     from m_product_bom mbl, pp_product_bom pb, pp_product_bomline pbl2
>     where (mbl.bomtype <> 'P' or pbl2.componenttype <> 'CO')
>           and pbl2.pp_product_bomline_id = pbl.pp_product_bomline_id
>           and pb.m_product_id = mbl.m_product_id
>           and pbl2.pp_product_bom_id = pb.pp_product_bom_id
>           and mbl.m_productbom_id = pbl2.m_product_id)
> ;
>
> Dá erro de sintaxe na primeira linha reclamando desse "pbl". Pelo visto na
> 8.1 (que é a que eu tenho) ele não aceita o identificador para a tabela que
> vai ser atualizada. Eu queria saber se tem algum jeito de eu fazer de outra
> maneira, de forma que de o mesmo resultado.
> Estou perguntando pq não sou mto bom de sql e tal..
>
> Obrigado,
>
> Rafael
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
José de Mello Júnior
41.9957-2007
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a