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
Dúvida Update + Join Oracle (RM)
-
- Rank: Estagiário Júnior
- Mensagens: 1
- Registrado em: Ter, 04 Ago 2015 10:42 am
-
- Moderador
- Mensagens: 641
- Registrado em: Seg, 03 Set 2007 3:26 pm
- Localização: Fortaleza - CE
att,
Daniel N.N.
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:
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:
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);
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Google [Bot] e 6 visitantes