Pular para o conteúdo

Fóruns SQL e PL/SQL Trigger Só Executa Primeiro Bloco do Programa Trigger Só Executa Primeiro Bloco do Programa

#92312
Girino
Participante

    Então Burga, to fazendo assim: 😀

    Primeiro crio a Procedure:

    CREATE OR REPLACE PROCEDURE P_ATUALIZA_SH_PCWMSOUTPUT
    IS

    BEGIN

    BEGIN
    FOR R IN (SELECT TIPO,
    NUMERO,
    CODPROD,
    CODCLI,
    CODFORNEC,
    CODFILIAL,
    QTSEP,
    QTREC,
    QTAVA,
    QTCOR,
    DTEMISSAO,
    SEMAFORO,
    DTPROCESSAMENTO,
    NUMLOTE,
    DTFABRICACAO,0
    FROM PCWMSOUTPUT
    WHERE TIPO = ‘E’AND SEMAFORO = ‘1’)
    LOOP
    INSERT INTO “sh_pcwmsoutput”@logixteste VALUES (R.TIPO,
    R.NUMERO,
    R.CODPROD,
    R.CODCLI,
    R.CODFORNEC,
    R.CODFILIAL,
    R.QTSEP,
    R.QTREC,
    R.QTAVA,
    R.QTCOR,
    R.DTEMISSAO,
    R.SEMAFORO,
    R.DTPROCESSAMENTO,
    R.NUMLOTE,
    R.DTFABRICACAO,0);
    END LOOP;
    COMMIT;
    END;

    EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;

    END;


    Depois crio a Trigger:

    CREATE OR REPLACE TRIGGER T_INSERT_SH_PCWMSOUTPUT
    AFTER INSERT ON PCWMSOUTPUT FOR EACH ROW

    BEGIN
    P_ATUALIZA_SH_PCWMSOUTPUT;
    end;

    :NEW.SEMAFORO := 3;

    END;


    Mas tá dando erro na compilação da trigger..??? 🙄 🙄

    Tenho que setar alguma coisa??? 💡