Pular para o conteúdo

Fóruns SQL e PL/SQL Select em 3 tabelas e update em 1 delas Select em 3 tabelas e update em 1 delas

#105943
Andrei Rubino
Participante

    @cardoso_ph

    Esse erro(‘00913 – too many values’) ocorre pois no seu select você está retornando mais de um valor, que são esses (A.Item_Estoque, C.Numero_Nota_Fiscal, B.Quantidade, A.Base_Pis, A.Base_Cofins, C.Dta_Entrada_Saida) então ele diz que existem muitos valores.

    Para corrigir você deve deixar apenas a coluna a qual corresponde o valor da clausula.Que no seu caso é where A.posicao_fiscal = ?

    Exemplo:

    update pec_item_estoque A
    set A.base_pis = 0
    where A.posicao_fiscal =
    (select A.Item_Estoque 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’)