oracle JOB,
 -- 实例
        CREATE TABLE DATE_LOG
        (create_date DATE CONSTRAINT create_date_pk PRIMARY KEY)
     --PROC
      CREATE OR REPLACE PROCEDURE create_date_log_row
   IS
   BEGIN
      INSERT INTO date_log(create_date)VALUES(sysdate);
   END;
   
    --JOB
    variable jobno number;--存储job号码
    begin
     dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440')
   Commit;
   end;上面无效SQL  ,,有什么问题。。,

解决方案 »

  1.   

    dbms_job那句后面没加分号
    SQL>  variable jobno number;
    SQL> 
    SQL>   begin
      2    dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440')
      3    Commit;
      4    end;
      5  /
     
    begin
      dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440')
      Commit;
      end;
     
    ORA-06550: line 4, column 3:
    PLS-00103: Encountered the symbol "COMMIT" when expecting one of the following:   := . ( % ;
    The symbol ":=" was substituted for "COMMIT" to continue.
    jobno
    ---------
     
    SQL> 
    SQL>   begin
      2    dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');
      3    Commit;
      4    end;
      5  /
     
    PL/SQL procedure successfully completed
    jobno
    ---------
    206
     
    SQL> 
      

  2.   

    语句结束用分号
    dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');
      

  3.   

    能执行成功啊!
    sql command 模式下执行
      

  4.   

    在pl/sql中的sql windows中加了分号也是执行不成功的啊!
    在命令模式下能运行! 就二楼的!
      

  5.   

    在plsql developer的command窗口执行.
      

  6.   

    begin
      dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');--分号
      Commit;
      end;
      

  7.   

    第一步建表,第二步创建存储过程,第三步声明变量,第四步创建job;
    select语句用分号;结尾.过程和匿名块用/来执行.
    Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 
    Connected as scott
     
    SQL> 
    SQL>   CREATE TABLE DATE_LOG
      2    (create_date DATE CONSTRAINT create_date_pk PRIMARY KEY);
     
    Table created
     
    SQL> 
    SQL>   CREATE OR REPLACE PROCEDURE create_date_log_row
      2    IS
      3    BEGIN
      4    INSERT INTO date_log(create_date)VALUES(sysdate);
      5    END;
      6  /
     
    Procedure created
     
    SQL> variable jobno number;--存储job号码
    SQL> 
    SQL>   begin
      2    dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');
      3    Commit;
      4    end;
      5  /
     
    PL/SQL procedure successfully completed
    jobno
    ---------
    209
     
    SQL> 
      

  8.   


    --sqlplus下完成的 你的是什么工具 或者你去PlSqlDev.exe的命令窗口去
    SQL> CREATE TABLE DATE_LOG
      2    (create_date DATE CONSTRAINT create_date_pk PRIMARY KEY)
      3  /表已创建。SQL> CREATE OR REPLACE PROCEDURE create_date_log_row
      2    IS
      3    BEGIN
      4    INSERT INTO date_log(create_date)VALUES(sysdate);
      5    END;
      6  /过程已创建。SQL> var jobno number
    SQL> begin
      2  dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'sysdate+1/1440');
      3  commit;
      4  end;
      5  /PL/SQL 过程已成功完成。SQL> select * from date_log
      2  /CREATE_DATE
    --------------
    18-10月-10
      

  9.   

     
    CREATE TABLE DATE_LOG
      (create_date DATE CONSTRAINT create_date_pk PRIMARY KEY);
      --PROC
       CREATE OR REPLACE PROCEDURE create_date_log_row
      IS
      BEGIN
      INSERT INTO date_log(create_date)VALUES(sysdate); 
       Commit;
      END;
      /
        
      variable job number;
      begin
      sys.dbms_job.submit(job => :job,
                          what => 'begin create_date_log_row; end;',
                          next_date => sysdate,
                          interval => 'to_date(to_char(sysdate, ''yyyy-mm-dd HH24:MI:SS''), ''yyyy-mm-dd HH24:MI:SS'')+1/1440');
      commit;
      end;
      /