全国服务热线:4008-888-888

行业新闻

处理JOB的Interval键入主要参数太长的难题

得出的运作JOB的PL/SQL编码为: DECLAREjob BINARY_INTEGER := :job;next_date DATE := :mydate;broken BOOLEAN := FALSE;BEGINWHAT:mydate := next_date;IF broken THEN :b := 1; ELSE :b :=0; END IF;END; 并表明了怎样应用NEXT_DATE做为储存全过程的輸出参

处理JOB的Interval键入主要参数太长的难题

得出的运作JOB的PL/SQL编码为:

DECLAREjob BINARY_INTEGER := :job;next_date DATE := :mydate;broken BOOLEAN := FALSE;BEGINWHAT:mydate := next_date;IF broken THEN :b := 1; ELSE :b :=0; END IF;END;

并表明了怎样应用NEXT_DATE做为储存全过程的輸出主要参数,来特定下一次JOB的下一次运作時间。

第一次见到这儿的情况下,一层面是感慨这类內部的物品,常人是没法获得的,仅有Tom这类內部人员才可以获得;另外一层面是钦佩Tom的功底,说真话,即便是把编码帮我,因为我想出不来那么恰当的方式。

此次重读这一部份内容,拥有一点新的念头,针对BROKEN自变量,是不是还可以做些甚么?

选用和上边相近的方式,能够操纵JOB的个人行为,使JOB取得成功运作一次后,就全自动终止没有实行。因为一般的一次性JOB,在运作后就从JOB主视图中消退了,假如期待留有运作信息内容,则务必应用系统日志表,十分的不便。而选用下边的方式解决一次性JOB,能够便捷将JOB的运作信息内容保存出来:

SQL CONN /@YANGTK AS SYSDBA

已联接。

SQL GRANT EXECUTE ON DBMS_LOCK TO YANGTK;

受权取得成功。

SQL CONN YANGTK/

已联接。

SQL CREATE OR REPLACE PROCEDURE P_TEST (P_BROKEN OUT BOOLEAN) AS2 BEGIN3 P_BROKEN := TRUE;4 DBMS_LOCK.SLEEP(5);5 END;6 /

全过程已建立。

SQL DECLARE2 V_JOB NUMBER;3 BEGIN4 DBMS_JOB.SUBMIT(V_JOB, 'P_TEST(BROKEN);', SYSDATE, 'SYSDATE + 1/1440');5 COMMIT;6 END;7 /

PL/SQL 全过程已是功进行。

SQL COL WHAT FORMAT A30SQL SELECT JOB, WHAT, TOTAL_TIME, BROKEN, FAILURES FROM USER_JOBS;JOB WHAT TOTAL_TIME B FAILURES---------- ------------------------------ 6 P_TEST(BROKEN); 3 NSQL SELECT JOB, WHAT, TOTAL_TIME, BROKEN, FAILURES FROM USER_JOBS;JOB WHAT TOTAL_TIME B FAILURES---------- ------------------------------ 6 P_TEST(BROKEN); 5 Y 0

选用这类方式,运作一次后,JOB已不运作,可是JOB信息内容并沒有遗失,依然保存在USER_JOBS主视图中。

共享到:
文中"处理JOB的Interval键入主要参数太长的难题"由远航网站站长搜集梳理而成,仅作大伙儿学习培训与参照应用。大量网站建设实例教程尽在远航网站站长站。


在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服