› Fóruns › SQL e PL/SQL › Trigger Só Executa Primeiro Bloco do Programa › Trigger Só Executa Primeiro Bloco do Programa
Olá Burga..!! 8)
Tudo Bem?
Ai volta no erro anterior de Mutant Trigger..!! 😥 😥 😥
Veja:
PROCEDURE:
CREATE OR REPLACE PROCEDURE P_ATUALIZA_SH_PCWMSOUTPUT
IS
PRAGMA AUTONOMOUS_TRANSACTION;
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;
TRIGGER:
CREATE OR REPLACE TRIGGER T_INSERT_SH_PCWMSOUTPUT
AFTER INSERT ON PCWMSOUTPUT FOR EACH ROW
BEGIN
begin
— Call the procedure
p_atualiza_sh_pcwmsoutput;
end;
BEGIN
UPDATE PCWMSOUTPUT
SET SEMAFORO = 3
WHERE TIPO = ‘E’ AND SEMAFORO = 1;
COMMIT;
END;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END;
[url=http://img210.imageshack.us/i/errooracle2.jpg/:21j5suip]
