写个 procedure ,再新建 job, 定义 schedule expression

解决方案 »

  1.   

    如果用Oracle作业的话,时间间隔参数:SYSDATE + 30,即:
    DBMS_JOB.SUBMIT(:jobno,'存储过程',SYSDATE, 'SYSDATE + 30');如果楼主必须要准确到每月的某一日执行的话,建议你在存储过程中一开始写个判断,判断当前时间是否是你指定的那一天,如果不是,直接返回。那么在JOB中,时间间隔参数为SYSDATE + 1(每天都执行)。
      

  2.   

    写一个过程,大概如下:
    CREATE OR REPLACE PROCEDURE ABC.PROC_INSERT_C
    IS
    BEGIN
         insert into tablename values ('a','b');
         COMMIT;
    END;
    /
    然后将其提交给Oracle的Job去定时执行
    VARIABLE jobno number;
    begin
          DBMS_JOB.SUBMIT(:jobno, 
                  'Procdemo;',--此处为存储过程名称 
                   SYSDATE, 'SYSDATE + 30');
             commit;
    end;
    /
    确保init<sid>.ora中 JOB_QUEUE_INTERVAL=60
     JOB_QUEUE_PROCESSES=4
     job_queue_keep_connections=true