Oracle JOB
创始人
2024-11-14 12:06:09
0

1. CREATE TABLE

CREATE TABLE GA007_RESULT_RECORD_TBL(     ID            NUMBER   , RESULT_CD     VARCHAR2(4000)   , BEGIN_TIME    DATE   , END_TIME      DATE ); /

2. CREATE PROCEDURE

CREATE OR REPLACE PROCEDURE PROC_GA002_PERFORMANCE AS      ln_result_code  NUMBER;     ln_id           NUMBER := 0; BEGIN     -- テストデータ     ln_result_code := NULL;     SELECT NVL(MAX(id), 0) + 1       INTO ln_id       FROM ga007_result_record_tbl;      INSERT INTO ga007_result_record_tbl(         id       , result_cd       , begin_time       , end_time     ) VALUES (         ln_id       , NULL       , CURRENT_DATE       , NULL     );     COMMIT;      -- テスト関数を呼び出す     xxgaif002.main(         iv_company_process_flag  =>  '2'       , on_result_code           =>  ln_result_code     );     UPDATE ga007_result_record_tbl        SET result_cd = ln_result_code          , end_time  = CURRENT_DATE      WHERE id = ln_id;     COMMIT; EXCEPTION     WHEN OTHERS THEN         ROLLBACK;         UPDATE ga007_result_record_tbl            SET result_cd = ln_result_code              , end_time  = CURRENT_DATE          WHERE id = ln_id;         COMMIT; END PROC_GA002_PERFORMANCE; / 

3. CREATE JOB

SET SERVEROUTPUT ON; / DECLARE     lv_job_name         VARCHAR2(100);     TYPE run_time_ttype IS TABLE OF DATE INDEX BY BINARY_INTEGER;     run_time_tbl        run_time_ttype;     ld_start_time       DATE;     ln_interval_time    NUMBER;     ln_time_diff        NUMBER;     lv_job_start_time   VARCHAR2(100);     ln_job_count        NUMBER := 0;     --==========================================================================     -- ジョブ実行間隔時間(単位:分)     cn_interval_time    CONSTANT NUMBER := 10;     -- ジョブ実行回数     cn_run_all_count    CONSTANT NUMBER := 14;     -- ジョブ初回実行時間     cd_first_run_time   CONSTANT DATE := CURRENT_DATE;     --========================================================================== BEGIN     lv_job_name := NULL;     -- ローカル時間と標準時間の差     ln_time_diff     := CURRENT_DATE - SYSDATE;     -- ジョブ運行開始時間     -- ld_start_time := TO_DATE('2021-08-10 22:00:00', 'YYYY-MM-DD HH24:MI:SS') - ln_time_diff;     -- ld_start_time := CURRENT_DATE;     ld_start_time := cd_first_run_time;     -- ジョブ毎に運行時間間隔(単位:分)     ln_interval_time := cn_interval_time*(60/3600/24);     lv_job_start_time := TO_CHAR(CURRENT_DATE, 'YYYYMMDDHH24MISS');      EXECUTE IMMEDIATE 'TRUNCATE TABLE ga007_result_record_tbl';      run_time_tbl.DELETE;     FOR i IN 1..cn_run_all_count LOOP       run_time_tbl(i) := ld_start_time;       ld_start_time := ld_start_time + ln_interval_time;     END LOOP;      FOR rec IN (         SELECT job_name           INTO ln_job_count           FROM user_scheduler_jobs          WHERE job_name LIKE'GA002_PERFORMANCE%')     LOOP         dbms_scheduler.drop_job(job_name => rec.job_name);     END LOOP;      FOR i IN 1..run_time_tbl.COUNT     LOOP         DBMS_OUTPUT.PUT_LINE(LPAD(i, 2, ' ') || '番目のプログラムの開始時間 :' || TO_CHAR(run_time_tbl(i),'YYYY-MM-DD HH24:MI'));         -- ジョブ名を設定         lv_job_name := 'GA002_PERFORMANCE' || lv_job_start_time || LPAD(i, 2, '0');         -- ジョブを作成         dbms_scheduler.create_job(             job_name            => lv_job_name           , job_type            => 'STORED_PROCEDURE'           , job_action          => 'PROC_GA002_PERFORMANCE'           , start_date          => run_time_tbl(i)           , end_date            => NULL           , enabled             => TRUE         );     END LOOP; END; / 

4. QUERY JOB

SELECT job_name, job_type, enabled, state FROM user_scheduler_jobs WHERE job_name LIKE'GA002_PERFORMANCE%'; SELECT log_id, log_date, status FROM user_scheduler_job_run_details WHERE job_name LIKE'GA002_PERFORMANCE%' ORDER BY 1 DESC; SELECT * FROM user_scheduler_job_run_details WHERE job_name LIKE'GA002_PERFORMANCE%' ORDER BY log_id DESC; SELECT * FROM ga007_result_record_tbl ORDER BY id; 

5. DROP OBJECT

DROP TABLE GA007_RESULT_RECORD_TBL; / DROP PROCEDURE PROC_GA002_PERFORMANCE; /

相关内容

热门资讯

玩家攻略,金花房卡专卖店九酷众... 微信游戏中心:九酷众娱房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
正规平台有哪些,金花房卡批发价... 正规平台有哪些,金花房卡批发价火神大厅/房卡链接怎么获取Sa9Ix苹果iPhone 17手机即将进入...
ia攻略/金花房卡如何购买嫦娥... 嫦娥大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
推荐一款!牛牛充值房卡海草众厅... 海草众厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
一分钟了解!金花房卡出售红桃众... 一分钟了解!金花房卡出售红桃众娱/微信链接房卡充值链接红桃众娱是一款非常受欢迎的游戏,咨询房/卡添加...
我来教你/金花房卡制作链接熊猫... 我来教你/金花房卡制作链接熊猫大厅/微信链接房卡批发价Sa9Ix苹果iPhone 17手机即将进入量...
科技实测!金花房卡出售新八戒/... 新八戒房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根据...
ia攻略/斗牛房卡充值乐乐大厅... 微信游戏中心:乐乐大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
ia攻略/金花房卡批发嫦娥大厅... 嫦娥大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
头条推荐!金花房卡出售乐乐大厅... 头条推荐!金花房卡出售乐乐大厅//全网房卡低价售Sa9Ix苹果iPhone 17手机即将进入量产阶段...
重大通报,金花房卡制作链接黄帝... 您好!微信黄帝大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(黄帝大厅)大厅介绍:...
头条推荐!金花房卡是正规的兄弟... 兄弟大厅/新道游房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
科技实测!怎么买斗牛房卡龙马大... 龙马大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
科技实测!游戏推荐斗牛房卡出售... 您好!微信悠悠众娱大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(悠悠众娱)大厅介绍:...
玩家攻略,怎么买斗牛房卡至尊大... 今 日消息,至尊大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
玩家攻略,游戏推荐牛牛房卡出售... 金牛座厅/新西部房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
IA解析/怎么买斗牛房卡海蓝大... IA解析/怎么买斗牛房卡海蓝大厅/开群怎么买房卡海蓝大厅是一款非常受欢迎的游戏,咨询房/卡添加微信:...
我来教你/金花房卡批发价龙王大... 我来教你/金花房卡批发价龙王大厅/房卡怎么搞Sa9Ix苹果iPhone 17手机即将进入量产阶段。有...
我来教你/牛牛房卡制作链接卡农... 今 日消息,卡农大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更新,简单...
IA解析/金花房卡专卖店芝麻大... 微信游戏中心:芝麻大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...