在指定时间更新表

时间:2018-11-26 14:51:01

标签: sql oracle

是否可以在指定的时间(例如,月底)更新表?

类似:

Update table1 set column1 = 1 where column2 = 2 (and give a date param when to update)

2 个答案:

答案 0 :(得分:3)

这是一个简单的示例:

 BEGIN
  dbms_scheduler.drop_job(job_name => 'Update_table1_monthly');
END;
/
BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
       job_name             => 'Update_table1_monthly',
       job_type             => 'PLSQL_BLOCK',
             job_action           =>  'begin
                                 Update table1 set column1 = 1 where column2 = 2;
                                 END;',
             start_date           => '27-NOV-18 12.00.00AM US/Pacific',
       repeat_interval      => 'FREQ=MONTHLY;BYMONTHDAY=1', 
       end_date             => '01-Jan-20 6.00.00AM US/Pacific',
       enabled              =>  TRUE,
       comments             => 'Update Table for first day of every month');
    END;
/

答案 1 :(得分:-1)

在SQL Agent中创建作业。您可以在任何时间安排它。