oracle Sql 語句創建JOB

改造:  SQL Window模式

DECLARE
  JOB_ID PLS_INTEGER;
BEGIN
  --作業 1
  SYS.DBMS_JOB.SUBMIT(JOB       => JOB_ID,
                      WHAT      => 'PRC_MATCHING();',
                      NEXT_DATE => SYSDATE,
                      INTERVAL  => 'TRUNC(SYSDATE+1)+6/24');
  --作業2
  SYS.DBMS_JOB.SUBMIT(JOB       => JOB_ID,
                      WHAT      => 'PRC_MATCHING();',
                      NEXT_DATE => SYSDATE,
                      INTERVAL  => 'TRUNC(SYSDATE+1)+6/24');
  --作業3
  SYS.DBMS_JOB.SUBMIT(JOB       => JOB_ID,
                      WHAT      => 'PRC_MATCHING();',
                      NEXT_DATE => SYSDATE,
                      INTERVAL  => 'TRUNC(SYSDATE+1)+6/24');
  COMMIT;
END;
/

SQL 命令行模式:

variable jobno number;
begin
         dbms_job.submit(:jobno, 'PRC_MATCHING();', sysdate, 'SYSDATE+1/48', TRUE);
         commit;
end;

原文:

如果直接用ORACLE裏面提供的JOB腳本創建,會提示

ORA-01008 並非所有變量都已關聯,

--------------------------------------------------

下面這個是正確的,已經測試通過可以創建

declare   
      job_id   pls_integer; 
begin
sys.dbms_job.submit(job => job_id,
                      what => 'up_scm_border(''102'');',
                      next_date => to_date('07-03-2008 06:00:00', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'TRUNC(SYSDATE+1)+6/24');
commit;
end;
/

下面的這個還包含一個要點,就是ORACLE的時間格式

update dba_jobs set last_date=to_date('2008-3-1 20:23:01','yyyy-mm-dd hh24:mi:ss') where job=201

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章