Tenho estas triggers que funciona perfeitamente, inclusive o delete da trigger "TRG_PROCESSA" para apagar dados na temporária (TEMP_ID) ,
quando logada no banco oracle 21c.... Porém quando executo no 19c, não faz delete e nem dá erro. Já executei grant ao usuário, porém sem sucesso.
Alguém tem idéia do que possa ser?
CREATE OR REPLACE TRIGGER TRG_PROCESSA_1
AFTER INSERT ON CONTROLE
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
BEGIN
---Guarda o id na temporária
INSERT INTO TEMP_ID
VALUES(:NEW.id );
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('código erro: ' || SQLCODE);
DBMS_OUTPUT.PUT_LINE('descrição erro: ' || SQLERRM);
END RG_PROCESSA_1;
CREATE OR REPLACE TRIGGER TRG_PROCESSA2
AFTER INSERT ON CONTROLE
REFERENCING NEW AS NEW OLD AS OLD
declare
--Declarando variáveis
vtemp varchar2(40);
BEGIN
-- Busca o Número do CPF para parâmetro para chamada da procedure ---
SELECT a.dsc_json.num_cpf_cnpj
into vtemp
FROM ATUALIZACAO a
WHERE a.id=(SELECT e.id FROM temp_id e where e.id= a.id);
-- chama uma procedure passando os dados inseridos pra procedure.
PRC_ATUALIZA_DADOS(vtemp);
--Deleta a temporária a cada linha inserida na temp_id-----
DELETE FROM temp_id;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('código erro: ' || SQLCODE);
DBMS_OUTPUT.PUT_LINE('descrição erro: ' || SQLERRM);
EN DTRG_PROCESSA2;
Kátia