最简单的一个Oracle定时任务

Jun 07, 2016 pm 05:12 PM

最简单的一个Oracle定时任务一、在PLSQL中创建表:create table HWQY.TEST(CARNO VARCHAR2(30),CARINFOID NUMBER) 二、在PLS

最简单的一个Oracle定时任务
一、在PLSQL中创建表:
create table HWQY.TEST
(
CARNO     VARCHAR2(30),
CARINFOID NUMBER
)

二、在PLSQL中创建存储过程:
create or replace PRocedure pro_test
AS
carinfo_id number;
BEGIN
select s_CarInfoID.nextval into carinfo_id
from dual;
insert into test(test.carno,test.carinfoid) values(carinfo_id,'123');
commit;
end pro_test;

三、在SQL命令窗口中启动任务:
在SQL>后执行:
VARIABLE jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,
    'pro_test;',
    SYSDATE,'sysdate+1/24/12');
   
    commit;
    end;
    /

提交后提示:
PL/SQL procedure successfully completed
jobno
---------
1

四、跟踪任务的情况(查看任务队列):

SQL> select job,next_date,next_sec,failures,broken from user_jobs;

       JOB NEXT_DATE   NEXT_SEC           FAILURES BROKEN
---------- ----------- ---------------- ---------- ------
         1 2008-2-22 ?01:00:00                  0 N

说明有一个任务存在了。
执行select * from test t查看定时任务的结果。可以看出定时任务是正常执行了的。

五、停止已经启动的定时任务:
先执行select job,next_date,next_sec,failures,broken from user_jobs;
以查看定时任务的job号。
在SQL>中执行下面的语句停止一个已经启动的定时任务:
begin
dbms_job.remove(1);
commit;
end;
/
表示停止job为1的任务。
执行后显示如下:
PL/SQL procedure successfully completed

六、查看进程数:
show parameter job_queue_processes;
必须>0,否则执行下面的命令修改:
alter system set job_queue_processes=5;

七、再创建一个任务(每5分钟执行一次):
variable jobno number;

begin
dbms_job.submit(:jobno, 'pro_test;',
sysdate,'sysdate+1/24/12');
commit;
end;
/

建立一个定时任务后,,在PLSQL中查看JOB,它的sql语句类似的是如下:

begin
sys.dbms_job.submit(job => :jobno,
                      what => 'pro_test;',
                      next_date => to_date('21-02-2008 17:37:26', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'sysdate+1/24/12');
commit;
end;
/

所以,创建一个任务的完整的格式是:
variable jobno number;
begin
sys.dbms_job.submit(job => :jobno,
                      what => 'pro_test;',
                      next_date => to_date('21-02-2008 17:37:26', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'sysdate+1/24/12');
commit;
end;
/
--系统会自动分配一个任务号jobno。

八、 执行select job,next_date,next_sec,failures,broken from user_jobs;
结果:
   JOB NEXT_DATE NEXT_SEC FAILURES BROKEN
1 1 2008-2-22 AM 01:00:00 01:00:00 0 N
2 2 2008-2-21 PM 05:42:45 17:42:45 0 N
3 3 2008-2-21 PM 05:42:45 17:42:45 0 N

linux

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

数値の最大の素因数を見つける C プログラム 数値の最大の素因数を見つける C プログラム Aug 27, 2023 am 10:09 AM

数値の最大の素因数を見つける C プログラム

トップ10グローバルデジタル仮想通貨取引プラットフォームランキング(2025権限ランキング) トップ10グローバルデジタル仮想通貨取引プラットフォームランキング(2025権限ランキング) Mar 06, 2025 pm 04:36 PM

トップ10グローバルデジタル仮想通貨取引プラットフォームランキング(2025権限ランキング)

2025年の通貨サークルのトップ10の交換 2025年の通貨サークルのトップ10の交換 Feb 27, 2025 pm 06:33 PM

2025年の通貨サークルのトップ10の交換

デジタル通貨アプリ用のトップ10の取引プラットフォーム、通常の通貨投機プラットフォームアプリの推奨 デジタル通貨アプリ用のトップ10の取引プラットフォーム、通常の通貨投機プラットフォームアプリの推奨 Mar 07, 2025 pm 06:51 PM

デジタル通貨アプリ用のトップ10の取引プラットフォーム、通常の通貨投機プラットフォームアプリの推奨

トップ10のデジタル通貨取引プラットフォームトップ10のデジタル通貨取引プラットフォームの最新リスト トップ10のデジタル通貨取引プラットフォームトップ10のデジタル通貨取引プラットフォームの最新リスト Mar 17, 2025 pm 05:57 PM

トップ10のデジタル通貨取引プラットフォームトップ10のデジタル通貨取引プラットフォームの最新リスト

信頼できるデジタル通貨プラットフォームは何ですか? 信頼できるデジタル通貨プラットフォームは何ですか? Mar 17, 2025 pm 05:45 PM

信頼できるデジタル通貨プラットフォームは何ですか?

トップ10デジタル通貨アプリトレーディングプラットフォームTop10仮想通貨アプリ2025ランキング トップ10デジタル通貨アプリトレーディングプラットフォームTop10仮想通貨アプリ2025ランキング Mar 13, 2025 pm 07:00 PM

トップ10デジタル通貨アプリトレーディングプラットフォームTop10仮想通貨アプリ2025ランキング

トップ10推奨されるトップ10デジタル通貨取引アプリのランキング トップ10推奨されるトップ10デジタル通貨取引アプリのランキング Feb 17, 2025 pm 03:18 PM

トップ10推奨されるトップ10デジタル通貨取引アプリのランキング

See all articles