Untitled

 avatar
unknown
sql
a year ago
1.9 kB
4
Indexable
DECLARE
  Vncount NUMBER := 0;
BEGIN

  FOR Prod IN (SELECT x.*
                 FROM Mrl_Prodempseg x
                WHERE x.Nrosegmento = 1
                  AND x.Nroempresa = 42)
  LOOP
  
    Vncount := Vncount + 1;
  
    BEGIN
      INSERT INTO Mad_Prodlogpreco
        (Seqlogpreco, Nroempresa, Centralloja, Seqproduto, Qtdembalagem,
         Nrosegmento, Preco, Faixaacrfinanceiro, Dtahoralteracao,
         Indgerapreco, Usualteracao, Processoalteracao, Aprovadoreprovado,
         Dtahoraprovreprov, Usuaprovreprov, Tipoaltpreco, Motivoaltmanual,
         Dtaprogalteracao, Indgeraprodbase, Indgeraprodsimilar, Seqpromocao,
         Indreplicacao, Indgeroureplicacao, Classifcomercabc)
        SELECT 0, 42, 'M', c.Seqproduto, 1, b.Nrosegmento, 1.00, 'A',
               SYSDATE, 'V', 'Implantacao', 'M', 'A', SYSDATE, 'Implantacao',
               'N', 'lancamento Inicial Preco', Trunc(SYSDATE), 'S', 'S',
               NULL, 'S', NULL, NULL
        
          FROM Max_Empresaseg b, Mrl_Prodempseg c, Mrl_Produtoempresa d
         WHERE c.Nroempresa = d.Nroempresa
           AND b.Nroempresa = c.Nroempresa
           AND c.Seqproduto = d.Seqproduto
           AND b.Nroempresa = d.Nroempresa
           AND b.Nrosegmento = c.Nrosegmento
           AND c.Precovalidnormal = 0
           AND d.Indavalinclusao = 'S'
              --and    c.seqproduto < 3000 
           AND d.Seqproduto = Prod.Seqproduto
           AND b.Nrosegmento = Prod.Nrosegmento --informar segmento
           AND c.Nroempresa = Prod.Nroempresa; --- inf nroempresa;
    EXCEPTION
      WHEN OTHERS THEN
        Dbms_Output.Put_Line('Seqproduto' || Prod.Seqproduto);
        Dbms_Output.Put_Line('NroEmpresa' || Prod.Nroempresa);
        Dbms_Output.Put_Line('NroSegmento' || Prod.Nrosegmento);
    END;
  /*  
    if Vncount = 100  then
      Vncount := 0;
      commit;
    end if;*/
  
  END LOOP;
END;
Editor is loading...
Leave a Comment