Heim >Datenbank >MySQL-Tutorial >Oracle 中的PL/SQL自动运行设定

Oracle 中的PL/SQL自动运行设定

WBOY
WBOYOriginal
2016-06-07 17:00:031540Durchsuche

ORACLE 中的PL/SQL自动运行的特性:在UNIXDE的corn 实用程序自动调度任务运行在ORACLE中的PL/SQL中用DBMS_JOB包允许你调度PL/SQL

Oracle 中的PL/SQL自动运行的特性:

在UNIXDE的corn 实用程序自动调度任务运行

在ORACLE中的PL/SQL中用DBMS_JOB包允许你调度PL/SQL语句块,使它在指定的时间自动运行。该语句将被Oracle的某后台进程处理。为拉便于运行,需要设置二个init.ora参数:

 1, JOB_QUEUE_PROCESS 指定启动的后台处理数。如果是0或没有设置,,将没有后台处理进入作业,它们就不会运行。
 2,  JOB_QUEUE_INTERVAL以秒为单位指定每一个过程在检查新的作业前等待的时间。在JOB_QUEUE_INTERVAL所代表的
秒数内,一个作业最多只能执行一次。
 
  ----Available online as part of DBMS_JOB.sql
   create sequene temp_seq
   start with 1
   increment by 1;
 
   CREATE OR RRPLACE PROCEDURE TempInsert AS
   BEGIN
      INSERT INTO temp_table (num_col,char_col)
        value (temp_seq.nextval,to_char(sysdate,'dd-mon-yyyy hh24:mi:ss));
     COMMIT
   END TempInsert;
下列SQL*Plus脚本,我们可以使TempInsert每90秒运行一次;
 ------Available online as part of DBMS_JOB.SQL
  SQL> VARIABLE V_JobNum NUMBER
  SQL> BEGIN
     2 DBMS_JOB.SUBMIT(:V_JOBNUM,'TempInsert;',SYSDATE,'SYSDATE+(90/24*60*60)');
     3 COMMIT;
     4 END;

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn