【问题标题】:Scheduling Job not happening in dbms_schedulerdbms_scheduler 中未发生调度作业
【发布时间】:2012-12-10 18:11:12
【问题描述】:

下面是我创建的dbms_scheduler,根据我创建的工作,它必须在我提到的时候从empp表中删除员工“simon”,程序成功执行但行没有被删除,请帮助我有解决方案。

begin
 dbms_scheduler.create_job
 (job_name => 'test_full_job_def',
 job_type => 'PLSQL_BLOCK',
 job_action=> 
   'begin 
    delete from empp where NAME="simon"; 
    commit; 
   end;',
   repeat_interval => 'FREQ=DAILY; BYHOUR=13; BYMINUTE=30',
   enabled=>true,
   auto_drop=>false,
   comments=>'Delete simon matches from the empp table');
end;

提前致谢

【问题讨论】:

  • 表名 empp 拼写正确吗?
  • “simon”周围的引号看起来像双引号“ - 你能检查它们实际上是单引号转义,即'和'彼此相邻
  • 彼得勋爵是对的。你在这里有双引号“simon”,你必须使用一对单''simon''
  • 只需在 'simon' 中添加单引号会引发错误,因此我更改了我的工作操作,例如 job_action => q'[begin delete from empp where name = 'simon';犯罪; end;]' 它的工作,谢谢你

标签: oracle plsql oracle10g oracle11g


【解决方案1】:

请尝试使用此代码

begin
 dbms_scheduler.create_job
 (job_name => 'test_full_job_def',
 job_type => 'PLSQL_BLOCK',
 job_action=> execute immediate('delete from empp where NAME='simon''),
   repeat_interval => 'FREQ=DAILY; BYHOUR=13; BYMINUTE=30',
   enabled=>true,
   auto_drop=>false,
   comments=>'Delete simon matches from the empp table');
end;

【讨论】:

    猜你喜欢
    • 2021-01-21
    • 2018-02-01
    • 2015-06-07
    • 2018-02-17
    • 2012-01-20
    • 2014-11-24
    • 2016-08-04
    • 1970-01-01
    • 2012-01-20
    相关资源
    最近更新 更多