Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PL/SQL中设置在特定日期对表执行操作?_Sql_Oracle_Plsql_Oracle Sqldeveloper - Fatal编程技术网

如何在PL/SQL中设置在特定日期对表执行操作?

如何在PL/SQL中设置在特定日期对表执行操作?,sql,oracle,plsql,oracle-sqldeveloper,Sql,Oracle,Plsql,Oracle Sqldeveloper,我必须在表上执行一些操作,即在一周中的特定日期更新,即每周一只使用存储过程-无触发器 即,我在存储过程中有: update table_1 set col1 = val1 where conditions; 我想每周都在特定的日子做这个 我很乐意接受任何建议。我建议使用Oracle作业调度器。您可以将作业设置为随时运行。您可以阅读有关作业调度器的更多信息,我在下面提供了一个示例 DBMS_SCHEDULER.CREATE_JOB ( job_name =

我必须在表上执行一些操作,即在一周中的特定日期更新,即每周一只使用存储过程-无触发器

即,我在存储过程中有:

update table_1 
set col1 = val1
where conditions;
我想每周都在特定的日子做这个


我很乐意接受任何建议。

我建议使用Oracle作业调度器。您可以将作业设置为随时运行。您可以阅读有关作业调度器的更多信息,我在下面提供了一个示例

   DBMS_SCHEDULER.CREATE_JOB (
      job_name           =>  'YOUR_JOB_NAME',
      job_type           =>  'STORED_PROCEDURE',
      job_action         =>  'SOME_SCHEMA.SOME_PROC',
      start_date         =>  to_date('20180313-23:30','YYYYMMDD-HH24:MI') AT TIME ZONE 'US/Eastern',
      repeat_interval    =>  'FREQ=DAILY;INTERVAL=1', /* every day */
      auto_drop          =>   FALSE,
      comments           =>  'Job to do something useful',
      enabled            =>  true);

我建议使用Oracle作业调度器。您可以将作业设置为随时运行。您可以阅读有关作业调度器的更多信息,我在下面提供了一个示例

   DBMS_SCHEDULER.CREATE_JOB (
      job_name           =>  'YOUR_JOB_NAME',
      job_type           =>  'STORED_PROCEDURE',
      job_action         =>  'SOME_SCHEMA.SOME_PROC',
      start_date         =>  to_date('20180313-23:30','YYYYMMDD-HH24:MI') AT TIME ZONE 'US/Eastern',
      repeat_interval    =>  'FREQ=DAILY;INTERVAL=1', /* every day */
      auto_drop          =>   FALSE,
      comments           =>  'Job to do something useful',
      enabled            =>  true);

非常感谢。我同意这是解决这个问题的好办法,但我必须不使用调度程序。@Ron-“我想让每周在特定的一天工作”-为了满足这个要求,你需要某种作业调度程序,即使它不是Oracle的。“这项任务的正式建议。不是我的主意”。好吧,按照你说的做,一个调度器,一些调度器,是绝对必要的。我会往后退,问一些问题。目前,你的“要求/建议”就像被要求驾驶不使用汽油的汽油动力汽车一样。你有两个选择:1)让员工每周一键入“execute myprocedure”,或2)让计算机为你这样做。执行此操作的软件通常称为调度程序。@William Robertson-但是,如果Oracle实例被关闭,程序将停止,并且在实例重新启动时不会自动重新启动。谢谢。我同意这是解决这个问题的好办法,但我必须不使用调度程序。@Ron-“我想让每周在特定的一天工作”-为了满足这个要求,你需要某种作业调度程序,即使它不是Oracle的。“这项任务的正式建议。不是我的主意”。好吧,按照你说的做,一个调度器,一些调度器,是绝对必要的。我会往后退,问一些问题。目前,你的“要求/建议”就像被要求驾驶不使用汽油的汽油动力汽车一样。你有两个选择:1)让员工每周一键入“execute myprocedure”,或2)让计算机为你这样做。执行此操作的软件通常称为调度程序。@William Robertson-但是,如果Oracle实例被取下,程序将停止,并且在实例重新启动时不会自动重新启动。