老大,带冒号开头的是变量,需要定义的,如下试试:
variable job number;
begin
sys.dbms_job.submit(job => :job,
                   what =>'monitor_sell_term();',
              next_date => sysdate,
               interval => 'sysdate+1');
commit;
end;
/

解决方案 »

  1.   

    怎么这么麻烦啊!还是有问题!SQL> variable job number;
    SQL> begin
      2  sys.dbms_job.submit(job => :job,
      3                     what =>'monitor_sell_term();',
      4                next_date => sysdate,
      5                 interval => 'sysdate+1');
      6  commit;
      7  end;
      8  /begin
    sys.dbms_job.submit(job => :job,
                       what =>'monitor_sell_term();',
                  next_date => sysdate,
                   interval => 'sysdate+1');
    commit;
    end;ORA-00600: internal error code, arguments: [15419], [severe error during PL/SQL execution], [], [], [], [], [], []
    ORA-06544: PL/SQL: internal error, arguments: [77303], [], [], [], [], [], [], []
    ORA-06553: PLS-801: internal error [77303]
    job
    ---------
      

  2.   

    是应该有jobid,但是这个Id是系统赋予的吧,不过你可以试试看阿 !
      

  3.   

    把变量job改为jobid试试,应该没有问题了。
    SQL> variable jobid number;
    SQL> begin
      2  sys.dbms_job.submit(job => :jobid,
      3                     what =>'monitor_sell_term();',
      4                next_date => sysdate,
      5                 interval => 'sysdate+1');
      6  commit;
      7  end;
      8  /
      

  4.   

    begin
    *
    ERROR 位于第 1 行:
    ORA-06550: 第 1 行, 第 93 列:
    PLS-00201: 必须说明标识符 'MONITOR_SELL_TERM'
    ORA-06550: 第 1 行, 第 93 列:
    PL/SQL: Statement ignored
    ORA-06512: 在"SYS.DBMS_JOB", line 79
    ORA-06512: 在"SYS.DBMS_JOB", line 131
    ORA-06512: 在line 2
      

  5.   

    楼上的兄弟,MONITOR_SELL_TERM()是定义好的存储过程名...