我用的数据库是oracle,现在我想写个存储过程(先查一个sql语句,然后把查出来的insert到表2中),另外这个操作我要求在每天的01:00点执行。。
比如我先建立一个这样的存储过程(select id,name from user),然后把查出来的id,name insert到表usercheck中),这个操作要的每天的1点定时操作。
求助各位大虾们,怎么解决啊有知道的详细说明一下好吗??
   谢谢!

解决方案 »

  1.   

    使用oracle job执行该存储过程,时间设为每天01:00,间隔为24小时就好了。
      

  2.   

    declare
           jobNum number;
    begin
         jobNum:=0;
         dbms_job.submit(job => jobNum,
                          --这儿写你的过程名称
                          what => 'procedure_name',
                          --这儿写第一次执行时间
                          next_date => to_date('13-01-2008 01:00:00', 'dd-mm-yyyy hh24:mi:ss'),
                          --这儿写你的时间间隔,1/24就是1点
                          interval => 'trunc(sysdate+1) + 1/24');
                     
          dbms_output.put_line('the job number is '||to_char(jobNum));
          commit;
    end;
      

  3.   

     dbms_output.put_line('the job number is '||to_char(jobNum)); 
    这一步执行有问题。。
     请在说明一下,谢谢~
      

  4.   

    variable job1 number;
    begin
    dbms_job.submit(:job1,'insertSysdate',sysdate,'sysdate+1/1440');
    end;
    我是这么写的,你们看一下有问题吗??
      

  5.   

    你这不是每一分钟执行一次吗
    sysdate 当前时间
    sysdate+1/1440 当前时间+1分钟
    你要第二天执行
    要用sysdate+1
    如果要保证第二天1点执行
    要trunc(sysdate+1)+1/24
      

  6.   

    [Quote=引用 6 楼 hebo2005 的回复:]
    引用 5 楼 leiru 的回复:
    variable job1 number; 
    begin 
    dbms_job.submit(:job1,'insertSysdate',sysdate,'sysdate+1/1440'); 
    end; 
    我是这么写的,你们看一下有问题吗?? 
    现在我遇到的问题是,我写的这个例子,它在pl/sql中报错
    显示无效sql语句。。
    这是怎么回事啊??
    难道用sql_plus运行吗?
      

  7.   

    定时执行已经解决了,各位大虾帮帮忙啊,帮我写个存储过程啊。。
       create or replace procedure insertSysDate as 
    begin 
    select id,name from user;  //查询出来的有多条记录
    insert into usercheck values (id,name);
    end ;是这样写的吗??现在我想写个存储过程(先查一个sql语句,然后把查出来的insert到表2中)
    比如我先建立一个这样的存储过程(select id,name from user),然后把查出来的id,name insert到表usercheck中)
      

  8.   

    create or replace procedure insertSysDate as
    begin
     insert into usesrcheck  (select id,name from user);
    end;
      

  9.   

    楼上的谢谢了。。
    我也刚找到方法,一样。。
    感谢。。明天给你们加分!
    insert   into   usercheck(usercode,username)   select   usercode,username   from  cc_user