› Fóruns › SQL e PL/SQL › Trigger Só Executa Primeiro Bloco do Programa › Trigger Só Executa Primeiro Bloco do Programa
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??? 💡