Pular para o conteúdo

Fóruns SQL e PL/SQL Procedure Procedure

#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