Dúvida Update + Join Oracle (RM)

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
mariosgomes
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Ter, 04 Ago 2015 10:42 am

Bom dia,


Estou com uma dúvida na estrutura do Update em Oracle para atualização de uma das tabelas do meu sistema (RM Totvs).

1 - Tenho uma tabela de lançamentos financeiros chamada FLAN e outra de rateio chamada FLANRATCCU ;
2 - Preciso colocar tudo que está setado no centro de custo da Flan (codccusto da tabela FLAN) a mesma informação dentro da FLANRATCCU no campo centro de custo de dentro dela.

Ou seja update flanratccu set codccusto='xxxx' where ---> pegando a mesma informação que está na flan para aquele determinado lançamento. .

alguém pode me ajudar?

obrigado
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Olá mariosgomes, seja bem vindo ao fórum.

Bem, antes de pensar na possibilidade de ficar alterando o centro de custo da FLANRATCCU via UPDATE, você já verificou a parametrização dos lotes e como será montada o centro de custo? Pois assim você não precisaria replicar esse centro de custo.
Também é válido considerar que caso você precise alterar estes centro de custos para depois montar um relatório, talvez seja melhor apenas mostrar o centro de custo pai (da FLAN) para todas linhas filhas da FLANRATCCU.

De qualquer modo, o update seria assim:

Selecionar tudo

update FLANRATCCU fc
   set fc.codccusto = (select f.CODCUSTO 
                         from flan f
                        where f.codcoligada = fc.codcoligada
                          and f.idlan       = fc.idlan)
 where fc.idlan = &P_IDLAN
 /* Só altera para quem está diferente */
   and exists (select 1
                 from flan f
                where f.codcoligada  = fc.codcoligada
                  and f.idlan        = fc.idlan
                  and f.CODCUSTO    <> fc.codccusto);
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 20 visitantes