Skip to Main Content

 

Auswahl  

Automatische Triggerwiedereinschaltung 

Oracle
PL/SQL
RDBMS 10.x
25.01.18 (MP)
04.07.23(NN)
Trigger, Reenable

Passende Schulungen zum Thema

Häufig möchte man einen Trigger kurz einmal ausschalten, eine Aktion ausführen und ihn dann wieder einschalten.

Nur dann vergisst man das Einschalten wieder.

Das muss nicht sein:-)

Die folgende Routine schaltet einen gewünschten Trigger im aktuellen Schema zwar auf DISABLE, setzt ihn aber nach einer frei wählbaren Zeitspanne (in Minuten) wieder auf ENABLE.

CREATE OR REPLACE PROCEDURE TRIGGER_SLEEP (
  P_TRIGGER_NAME IN VARCHAR2,
  p_timeout      IN NUMBER default 30) -- in Minuten
  IS
BEGIN
  EXECUTE IMMEDIATE 'ALTER TRIGGER '||p_trigger_name||' DISABLE';
  DBMS_SCHEDULER.CREATE_JOB(
    JOB_NAME   => 'trigger_reactivate',
    JOB_TYPE   => 'PLSQL_BLOCK',
    JOB_ACTION => q'!BEGIN
                       EXECUTE IMMEDIATE 'ALTER TRIGGER !'||P_TRIGGER_NAME||q'! ENABLE';
                     END;!',
    START_DATE => SYSDATE+ p_timeout/24/60,
    ENABLED    => TRUE);
    COMMIT;
END;
/


Solche und weitere tolle Tricks lernt man in einem unserer PL/SQL Kurse.

Weitere Interessante Kurs-Tipps zum Thema

Besuchen Sie uns doch bei einer unsere über 50 Oracle Schulungen in München - Unterhaching, oder verfolgen Sie die Training per Videostreaming bequem vom Home Office oder Büro aus.