欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-29 12:10:31
...

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;

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