begin
  dbms_scheduler.create_job(
      job_name=>'repositoryValid',
      job_type=>'plsql_block',
      job_action=>'update t_repository  set status='0' where ceil(valid_time-sysdate)<0 and status!='0';',
      start_date=>sysdate,
      repert_interval=>'freq=daily;interval=1;byhour=0;myminute=0;bysecond=0',
      enabled=>true,
      auto_drop=>false
 );
end;
/报错如下:
ora-06550:.....
PLS-00103:Encountered the symbol "0" when expecting one of the following;

解决方案 »

  1.   

    job_action=>'update t_repository  set status='0' where ceil(valid_time-sysdate) <0 and status!='0';', 
    换成
    job_action=>'update t_repository  set status='''||0||''' where ceil(valid_time-sysdate) <0 and status!='''||0||''';', 你的问题是oracle中的''中的'符号需要转义,用'''来转义下。
      

  2.   

    repert_interval=>'freq=daily;interval=1;byhour=0;myminute=0;bysecond=0', 
    这里面的好像是repeat吧,不是repert吧?
      

  3.   

    这句改成status=''0''就好了
    另外最好加个commit;
      

  4.   

    repert_interval=>'freq=daily;interval=1;byhour=0;myminute=0;bysecond=0', 上面的myminute改为byminute