Olá, eu preciso criar uma trigger que realize um update na tabela TGFFIN alterando a data de vencimento conforme o código do update que disponibilizei,
Eu estou realizado a query para obter os dados para validação, e após a validação realizo o update, está retornado erro que os dados não foram encontrados.
Alguém pode me ajudar por favor.
create or replace TRIGGER TRG_UPD_DTVENC_TGFFIN
AFTER INSERT ON TGFFIN
FOR EACH ROW
DECLARE
P_SOLICITANTE VARCHAR2(80);
P_NTUSERNAME VARCHAR2(30);
P_COUNT INT := 0;
P_PROGRAMNAME VARCHAR2(80);
ERRMSG VARCHAR2(255);
ERROR EXCEPTION;
P_VALIDAR BOOLEAN;
P_NUFIN NUMBER(10);
P_CODFUNC NUMBER(10);
P_CHAVE VARCHAR(15);
P_VLRTROCA FLOAT;
P_NUIMP INT := 0;
P_MINDEST INT;
P_MAXDEST INT;
P_MSG VARCHAR2(200);
P_NUNOTA INT := 0;
P_CODTIPVENDA INT := 0;
BEGIN
begin
SELECT DISTINCT
CAB.CODTIPVENDA, CAB.NUNOTA
INTO P_CODTIPVENDA,P_NUNOTA
FROM TGFCAB CAB
WHERE :NEW.NUNOTA = CAB.CODTIPVENDA
AND CAB.CODTIPVENDA = 141;
EXCEPTION
WHEN NO_DATA_FOUND THEN
return;
end;
IF Stp_Get_Atualizando THEN
RETURN;
END IF;
IF P_CODTIPVENDA = 141 THEN
UPDATE TGFFIN
SET DTVENC =(SELECT (CAB.DTPREVENT + PRAZO) FROM TGFCAB CAB
JOIN TGFPPG PPG
ON CAB.CODTIPVENDA= PPG.CODTIPVENDA
WHERE CAB.CODTIPVENDA = P_CODTIPVENDA
AND CAB.NUNOTA= :OLD.NUNOTA)
WHERE NUNOTA= :OLD.NUNOTA;
END IF;
COMMIT;
RETURN;
END;