私はウェブサービスリンクを呼び出すトリガーを持っています。 このリンクはを表示します。、ビューはXMLを構成しています。コミット(挿入または更新)の前にトリガーを挿入
problemaは次のとおりです。
CREATE OR REPLACE TRIGGER trg_candidato_chama_link
AFTER INSERT OR UPDATE ON cand_proc_sel
FOR EACH ROW DECLARE
v_url VARCHAR2(4000);
req UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
value VARCHAR2(1536);
--temp
v_count INTEGER;
v_alternativas VARCHAR2(1000);
v_error VARCHAR2(4000);
BEGIN
if (:new.cod_situation = 6) THEN
v_url := 'http://.../frameweb/amxv7/amx_new_employee';
req := UTL_HTTP.BEGIN_REQUEST(v_url);
UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
resp := UTL_HTTP.GET_RESPONSE(req);
LOOP
UTL_HTTP.READ_LINE(resp, value, TRUE);
DBMS_OUTPUT.PUT_LINE(value);
END LOOP;
UTL_HTTP.END_RESPONSE(resp);
END IF;
EXCEPTION WHEN UTL_HTTP.END_OF_BODY THEN
UTL_HTTP.END_RESPONSE(resp);
INSERT INTO integratio_log(data, cod_integracao, status, rotina, obs) VALUES(SYSDATE, 7, 'SUCCESS', 'TEST DOM, TRIGGER URL', 'Url : ' || v_url || ' count test: '|| v_count); WHEN OTHERS THEN
v_error := To_Char(SQLERRM);
INSERT INTO integracao_log(data, cod_integracao, status, rotina, obs) VALUES(SYSDATE, 7, 'FAIL', 'TEST DOM, TRIGGER URL', 'Url : ' || v_url || ' # qtd: '|| v_count || ' # Erro: ' || v_error);
END;
しかし、問題は次のとおりです:私はこのようなcod_situation = 6を持っている場合 トリガが実行され
ビューでだけである句条件cod_situation = 6ですが、トリガーがウェブサービスを呼び出す場合Vを閲覧するには、cod_situation = 6がまだありません。
私の質問は、どのようにトリガリンクを呼び出すことができますが、コミットがテーブル内で完了した後でなければなりません。