首页  > 数据库 > oracle守时器,oracle守时器调用存储进程

oracle守时器,oracle守时器调用存储进程

数据库 2024-12-24 4

Oracle数据库中的守时器能够经过几种办法完成,绵亘运用DBMS_SCHEDULER、DBMS_JOB或PL/SQL中的循环和条件判别。以下是关于这些办法的扼要介绍:

1. DBMS_SCHEDULER: DBMS_SCHEDULER是Oracle 10g及以上版别中引进的一个功用强大的调度程序,能够用来组织作业的履行。它支撑多种类型的作业,绵亘存储进程、脚本、外部程序等,而且能够设置杂乱的调度方案。 运用DBMS_SCHEDULER,你能够创立、修正、删去作业,以及查询作业的状况和日志。 示例代码: ```sql BEGIN DBMS_SCHEDULER.create_job ; END; ```

2. DBMS_JOB: DBMS_JOB是Oracle 9i及之前版别中运用的作业调度程序,虽然在新版别中依然可用,但主张运用DBMS_SCHEDULER,由于后者供给了更多的功用和更好的功能。 DBMS_JOB首要用于调度简略的PL/SQL块或存储进程。 示例代码: ```sql DECLARE jobno NUMBER; BEGIN DBMS_JOB.submit; END; ```

3. PL/SQL中的循环和条件判别: 关于简略的守时使命,你也能够在PL/SQL中运用循环和条件判别来完成。 这种办法一般用于客户端应用程序或触发器中,而不是作为数据库层面的调度。 示例代码: ```sql DECLARE l_current_time TIMESTAMP; l_interval NUMBER := 60; seconds BEGIN LOOP l_current_time := SYSTIMESTAMP; Your PL/SQL code here DBMS_LOCK.sleep; END LOOP; END; ```

挑选哪种办法取决于你的详细需求,绵亘使命的杂乱性、调度频率、功能要求等。关于大多数现代应用程序,DBMS_SCHEDULER是最佳挑选。


Copyright © 2016-2028零基础教程 Rights Reserved. XML地图