SQL> VARIABLE jobno number;
SQL> 
SQL>  begin
  2    DBMS_JOB.SUBMIT(:jobno,
  3    'pro_his_dict_jcb;',
  4    SYSDATE,'sysdate+1');
 
 begin
  DBMS_JOB.SUBMIT(:jobno,
  'pro_his_dict_jcb;',
  SYSDATE,'sysdate+1')
 
ORA-06550: line 2, column 2:
PLS-00103: Encountered the symbol "" when expecting one of the following:   begin case declare exit for function goto if loop mod null
   package pragma procedure raise return select separate type
   update while with <an identifier>
   <a double-quoted delimited-identifier> <a bind variable> <<
   form table call close current define delete fetch lock insert
   open rollback savepoint set sql execute commit forall merge
   library OPERATOR_ pipe
jobno
---------
 
SQL>   commit;
 
Commit complete
SQL>   end;
 
  end
 
ORA-00900: invalid SQL statement

解决方案 »

  1.   

    variable jobno number; 
    begin
    DBMS_JOB.SUBMIT(:jobno,'pro_his_dict_jcb;',SYSDATE,'sysdate+1');
    commit;
    end;
    /
    --你再试试。貌似没有问题,如果有问题的话,那也可能是字符的问题.看看你输入的单引号是中文输入法下输入的,还是英文单引号!
      

  2.   

    ORA-06550: line 1, column 93:
    PLS-00905: object TPEMR.PRO_HIS_PATIENT_BASE is invalid
    ORA-06550: line 1, column 93:
    PL/SQL: Statement ignored
    ORA-06512: at "SYS.DBMS_JOB", line 79
    ORA-06512: at "SYS.DBMS_JOB", line 136
    ORA-06512: at line 3
    jobno
    ---------
     还是报这个错
      

  3.   

    pro_his_dict_jcb这个存储过程中引用的PRO_HIS_PATIENT_BASE数据库对象有问题!
    PLS-00905: object TPEMR.PRO_HIS_PATIENT_BASE is invalid
      

  4.   

    好了,就是存贮的问题,不过我用的是另一个语句,SQL> variable job5 number; 
    SQL> 
    SQL>begin
      sys.dbms_job.submit(job => :job5,
                          what => 'pro_his_patient_visit_gxcyrq;',
                          next_date => to_date('09-08-2010 09:26:32', 'dd-mm-yyyy hh24:mi:ss'),
                          interval => 'sysdate+2/1440');
      commit;
    end;
    /
    SQL> begin 
    dbms_job.run(:job5); 
    end; 
    / 谢谢个各位。