sql >> Database teknologi >  >> RDS >> Oracle

Kan et JOB oprettes dynamisk inde i en trigger?

Kalder DBMS_SCHEDULER.CREATE_JOB implicit forpligter, så du ikke kan oprette en DBMS_SCHEDULER job i en trigger. Dette er en af ​​de situationer, der stadig kræver brug af den gamle DBMS_JOB pakke siden DBMS_JOB.SUBMIT ikke implicit forpligter.

Denne udløser skulle oprette det ønskede job ved hjælp af DBMS_JOB pakke i stedet for DBMS_SCHEDULER .

create or replace
TRIGGER AFT_INSERT_TMP_TBL
AFTER INSERT ON TMP_TBL
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE 

    V_SQL VARCHAR2(1000);
    A_NAME VARCHAR2(100);
    l_jobno NUMBER;
BEGIN
    A_NAME:='ANY_NAME';

    dbms_job.submit( l_jobno,
                     'BEGIN dbms_output.put_line( ''' || a_name || ''' ); END;',
                     sysdate + interval '2' minute,
                     'sysdate + interval ''2'' minute' );
     DBMS_OUTPUT.PUT_LINE('Job Number:'||l_jobno);

END AFT_INSERT_TMP_TBL;


  1. Hvordan kan jeg formatere en MySQL TIMEDIFF uden sekunder?

  2. Opgrader MySQL til MariaDB 10 (del 1 – Installer MariaDB 5.5)

  3. Docker Laravel Mysql:kunne ikke finde driveren

  4. Hvordan kan jeg forhindre, at Hibernate + c3p0 + MySql skaber et stort antal sovende forbindelser?