。1-1テストテーブル作成 (ID整数、ADD_TIME日)を作成job_test 2テーブルと、 3 ストアドプロシージャを作成し4 --2。 5手順prc_job_testを作成するか、または交換されている。 6始める。 job_test値(SEQ_TM_ID.nextval、SYSDATE)INTO 7 INSERT。 ; 8コミット; 9エンドprc_job_test; 10 。。11 --- 3タスクを作成 12はDECLAREで 13 tm_job数であり、 14開始 15 sys.dbms_job.submit(tm_job、 -タスク名 16 'prc_job_testを;' -の実行中に、 17 SYSDATE -実行時間 18 'SYSDATE + 1 /(24 * 60 * 10)'); - 次の実行時間 。19 END; 20である 。図21は、照会タスク--4で 22 DBA_JOBS SELECT * FROMであり; 23れます 。ADD_TIMEのDESCによってjob_test注文から24 SELECT * T、Tのt.rowid 25 26 --5タスクである。 27開始 28 dbms_job.run(25); -タスクID 25 29 END; 30 31 --6あります。タスクストップ 32を開始する 33(SYSDATE、trueに、25)DBMS_JOB.BROKENれ、 34コミットである ; 35エンド 36 ìタスク削除37 [7。 開始され38 39 DBMS_JOB.REMOVE(25); 40 END;
1 --8删除任务脚本 2が始まる ループ( 'prc_job_test'何= DBA_JOBSからジョブを選択)で、V 3を 4 DBMS_JOB.REMOVE(v.job)。 5エンドループ。 6コミット; 7 END;
完全なスクリプトの例:
。スクリプト表削除1-1 ; 2 NUMBER NUM DECLAREを 3 BEGIN 4 SELECT。 5 COUNT INTO NUM。(1) 6から。 7 USER_TABLES。 8 WHERE。 9 TABLE_NAME = 'JOB_TEST'; 10 1 THEN IF NUMが= 。11 EXECUTE IMMEDIATE ' 12は、ドロップテーブルでありますjOB_TEST 13である ; 14 END IF ; 15 END 16 / テストテーブル作成--2 .. 17 ; 18をテーブルjob_test(ID整数、ADD_TIME日)作成されている 19 /。 20ストアドプロシージャを作成することである--- 3。 21 PRC_JOB_TESTであるプロシージャを作成または交換 22は開始 23 job_test値にインサートである(1、SYSDATE); 24 COMMIT; 25エンドprc_job_test; 26れます/ 27--4ジョブスクリプトを削除します。 28を始める (何= 'PRC_JOB_TEST;' DBA_JOBSから仕事SELECT)にVのための29のループ 30 DBMS_JOB.REMOVE(v.jobする); ; 31は、エンドループで コミット32; 33はエンドであり、 34は/ 。35--5タスクを作成 36 DECLARE 37 tm_job番号; 38が開始され 39 sys.dbms_job.submit(tm_job、 -タスク名 40 'PRC_JOB_TESTを;'、 -処理が行わ 41 SYSDATEは、 -実行時間 42「SYSDATE + 1 /(24 * 60 * 10)「); -次の実行時間 43は、COMMITであり; 44端部である、
元のリンクします。https://www.cnblogs.com/zyx-/p/8032954.html