begin
  sys.dbms_job.submit(job => :job,
                      what => 'ETL.run_all;',
                      next_date => to_date('08-11-2011 10:41:00', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'trunc(sysdate+1)+5/24');
  commit;
end;我写的存储过程 现在想写个job 执行 报错了 并非所有变量都以绑定
麻烦看看 谢谢

解决方案 »

  1.   

    begin
      sys.dbms_job.submit(job => :job,
                          what => 'v_view',
                          next_date => to_date('30-12-1899 02:00:00', 'dd-mm-yyyy hh24:mi:ss'),
                          interval => '6');
      commit;
    end;
    /
      

  2.   


    ORA-01008: 并非所有变量都已绑定
      

  3.   

    DECLARE
    X NUMBER;
    BEGIN
    SYS.DBMS_JOB.SUBMIT
    ( job => X,
    what => 'ETL_RUN_D_Date;',
    next_date => to_date('2009-08-26 01:00:00','yyyy-mm-dd hh24:mi:ss'),
    interval => 'trunc(sysdate)+1+1/24',
    no_parse => FALSE
    );
    SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    COMMIT;
    END;
    /
      

  4.   

    同样的错误?你是在PL/SQL中执行?
      

  5.   

    不一样 嗯 pl /sql 8.0  你直接粘上去试试 就报错了
      

  6.   

    declare   job   number; 
    begin
      sys.dbms_job.submit(job => job,
                          what => 'begin ETL.run_all(); end;',
                          next_date => to_date('10-12-2011 11:18:41', 'dd-mm-yyyy hh24:mi:ss'),
                          interval => 'SYSDATE+1');
      commit;
    end;
    /
      

  7.   

    确保存储ETL.run_all 编译通过,不报错。
      

  8.   

    SQL> variable jobno number;
    SQL> begin
      2  sys.dbms_job.submit(:jobno,'proc_alarms;',sysdate,'SYSDATE+1/2880');
      3  commit;
      4  end;
      5  /
    --调用本机的存储过程,PASS,你在看看!
      

  9.   

    SQL> variable n number; 
       SQL> begin 
          2   dbms_job.submit(n, 'my_job', sysdate, 'sysdate + 1/360'); 
          3   commit; 
          4 end 
          5 / 
       SQL> print :n; 其中my_job是一个PL/SQL程序段。
      

  10.   


    执行了不报错 可是没执行存储过程 存储过程自己执行没问题 这个job执行 就点执行就行了吗
      

  11.   


    sql 窗口报错 ora-00900 无效sql语句
      

  12.   


    报错 无效了sql语句了 
      

  13.   

    --proc_alarms  是我本机的存储过程,你机器肯定是没有的
      

  14.   

    create or replace procedure proc_alarms
    AS
    teim date;
    BEGIN
    teim := sysdate;
    insert into qiudf_alarms(alarm_status,alarm_datetime) values(0,teim);
    commit;
    end proc_alarms;
      

  15.   

    update log t3
      set t3.dtime=sysdate,t3.zhuangtai=(select count(1) from zong)
      where t3.time=ktime and t3.zhuangtai is null; 存储过程 用了job  里面没分钟都要有好几条写到里面 这是为什么呢
      

  16.   

    update log t3
      set t3.dtime=sysdate,t3.zhuangtai=(select count(1) from zong)
      where t3.time=ktime and t3.zhuangtai is null; 存储过程
    用了 job 怎么就每分钟好几条一样的写到log 中
    用的这个job
    declare job number;  
    begin
      sys.dbms_job.submit(job => job,
      what => ' ETL.run_all();',
      next_date => to_date('08-11-2011 13:13:00', 'dd-mm-yyyy hh24:mi:ss'),
      interval => 'sysdate+1/1440');
      commit;
    end;
    /
      

  17.   

    'sysdate+1/1440'  这是你日期间隔的值
      

  18.   

    谢谢 怎么查看 job 停止job  在plsql 中 job那是空的  实际运行中 scott 用户 
    写sqljob的窗口能关了吗 要是以后想修改怎么调出来
      

  19.   

    完全可以用一下第三方工具,如pl/sql developer!
      

  20.   

    我用的就是这个 怎么看 job 呢 停止呢
      

  21.   


    select * from sys.user_jobs 查看
    怎么删除呢 
    里面有好多 
      

  22.   

    dbms_job.remove(job89)  删除不了 job
    select * from all_jobs;查看的
      

  23.   

    begin
    sys.dbms_job.remove(job89);
    commit;
    end;
    /
      

  24.   

    报错了 提示 必须声明标识符 ‘job89’