[firebase-br] Ajuda num UPDATE

Nivaldo Martins nivaldomart em gmail.com
Seg Mar 21 13:14:57 -03 2011


Se você possui mais de um registro em CONTPGRC relacionado à tclassificado
deve verificar se os valores são iguais ou poderá ter problemas. Se você tem
uma relação de um para muitos, deve ver qual informação, de fato vai gravar.
Se o valor desejado for o mesmo em todas os registros relacionados, o
distinct resolve, mas se não vc precisará decidir qual valor irá gravar.

Em 21 de março de 2011 12:41, Henrique Ribeiro <kikeribeiro em gmail.com>escreveu:

> Boa tarde colegas,
>
> Estou tentando atualizar uma tabela com dados de uma coluna de outra tabela
> mas sem sucesso.
>
> A tabela TCLASSIFICADO tem a coluna  *tclassificado.data_comemorativa* que
> desejo jogar na tabela de CONTPGRC (coluna *CONTPGRC.cpr_dtcomemorativa*)
>
> Estou tentando da seguinte forma:
> ------------------------------------------
> UPDATE CONTPGRC SET
> CONTPGRC.CPR_VALCOMISS  = '5',
> CONTPGRC.CPR_DTCOMISS = '17.03.2010',
> CONTPGRC.CPR_COMISSQUITA    = '1' ,
> CONTPGRC.cpr_dtcomemorativa =  (SELECT tclassificado.data_comemorativa from
> tclassificado
>   inner join contpgrc   on (tclassificado.cd_cla =
> contpgrc.cla_codigo) ) *//aqui
> retorna mais de uma linha*
>
> WHERE CONTPGRC.CPR_COMISSQUITA = 0
> AND CONTPGRC.CPR_CODIGO IN (SELECT CONTPGRC.cpr_codigo from contpgrc
>   inner join tclassificado  on (tclassificado.cd_cla = contpgrc.cla_codigo)
> )
>
>  AND CONTPGRC.cpr_tipocomiss = 'ANUNCIO'
>  AND CONTPGRC.CPR_FUNCOMISS = '101550'
>  AND CONTPGRC.CPR_DTIN between '01.02.2010' AND '31.12.2011'
> ---------------------------------------------
>
> O problema é que o meu primeiro subselect está retornando mais de uma linha
> e por isso dá crepe no UPDATE.
>
> Alguém tem uma luz?
>
> Agradeço desde já e desejo uma excelente semana para todos.
>
> Att,
> Henrique
> ______________________________________________
> 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://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista