Pular para o conteúdo
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #93696
    Sousa04
    Participante

      Bom dia Pessoal,

      Tenho a seguinte procedure:

      create or replace PROCEDURE CARGA_DMBIEG AS
      BEGIN
      — Dá a carga no DMBIEG com as informações do DWMD

      EXECUTE IMMEDIATE ‘call carga_base()’;
      — EXECUTE IMMEDIATE ‘call atualiza_vwmat()’;

      if valida_pk then
      EXECUTE IMMEDIATE ‘call carga_dm_pessoa()’;
      EXECUTE IMMEDIATE ‘call atualiza_dm_pessoa()’;
      EXECUTE IMMEDIATE ‘call carga_ft_pessoa()’;
      EXECUTE IMMEDIATE ‘call carga_ft_outras_despesa()’;
      — EXECUTE IMMEDIATE ‘call carga_ft_outras_despesas_det()’;
      EXECUTE IMMEDIATE ‘call carga_ft_financeiro()’;
      DBMS_OUTPUT.PUT_LINE(‘FIM DA CARGA’);
      else
      DBMS_OUTPUT.PUT_LINE(‘A CARGA NÃO FOI REALIZADA’);
      END IF;
      END;

      Esse código atualiza algumas views. Só atualiza todas de uma lapada só. Existe alguma forma de fazer isso mas de forma sequencial? Uma após a outra.

      Obrigado a todos!!

      #93697
      Avatar photoLeonardo Litz
      Participante

        Olá Sousa04.

        Bom, desta maneira já esta em forma sequencial.

        Só o execute immediate faz com que abra uma nova sessão para cada execução. Se isso não for um particularidade de sua aplicação, você pode mudar para:


        create or replace PROCEDURE CARGA_DMBIEG AS
        BEGIN
        -- Dá a carga no DMBIEG com as informações do DWMD

        carga_base();
        -- EXECUTE IMMEDIATE 'call atualiza_vwmat()';

        if valida_pk then
        carga_dm_pessoa();
        atualiza_dm_pessoa();
        carga_ft_pessoa();
        carga_ft_outras_despesa();
        -- EXECUTE IMMEDIATE 'call carga_ft_outras_despesas_det()';
        carga_ft_financeiro();
        DBMS_OUTPUT.PUT_LINE('FIM DA CARGA');
        else
        DBMS_OUTPUT.PUT_LINE('A CARGA NÃO FOI REALIZADA');
        END IF;

        EXCEPTION WHEN OTHERS THEN

        DBMS_OUTPUT.PUT_LINE('A CARGA NÃO FOI REALIZADA');

        END;

        Vlw Leonardo Litz

        #93698
        Sousa04
        Participante

          poxa vlw mesmo a dica!!!!

          Vou testar aqui obrigado mesmo

        Visualizando 3 posts - 1 até 3 (de 3 do total)
        • Você deve fazer login para responder a este tópico.