Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cardoso_ph

Select em 3 tabelas e update em 1 delas

Recommended Posts

Olá,

Sou iniciante em Oracle estou encontrando dificuldades em realizar um rotina em meu trabalho.

Segue minha duvida,
Tenho 3 tabelas

 

Tab1
codigo_item, posicao_fiscal, pis,cofins
tab2
codigo_item, pis, cofins,nota_fiscal
tab3
nota_fiscal, data_documento

 



Pergunta, através do código NCM(tab1) preciso de determinadas notas fiscais(tab2) em uma data selecionada(tab3). após o resultado preciso alterar as colunas pis e cofins da tab2,com um determinado valor.

Fiz o select, porém não estou conseguindo fazer o UPDATE, alguém poderia me ajudar?

Segue o código do select

 

select A.Item_Estoque, C.Numero_Nota_Fiscal, B.Quantidade, A.Base_Pis,    A.Base_Cofins, C.Dta_Entrada_Saida from pec_item_estoque A, 
fat_movimento_item B, fat_movimento_capa C
where posicao_fiscal = 40169990
and C.dta_entrada_saida between to_date('01/08/2013','dd/mm/yyyy')
and to_date('02/08/2013','dd/mm/yyyy')
and C.revenda = 1
and A.item_estoque = B.Item_Estoque
and B.Numero_Nota_Fiscal = C.NUMERO_NOTA_FISCAL
and C.Tipo_Transacao = 'P01'
order by C.Numero_Nota_Fiscal

 


Compartilhar este post


Link para o post
Compartilhar em outros sites

Oracle não faz isto (update cruzado), eu por exemplo uso um bloco plsql

 

algo assim

 

 

begin
  for r in (select chave
            from tabela1,tabela2 ...)
  loop
    update tabela1 set campo1 = '....' where chave = r.chave;
  end loop;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.