你看这个表有没有更新数据啊
你没有commit 估计你也看不到

解决方案 »

  1.   

    直接看表里有没有数据生成啊,或者是建个测试表往里insert来测试
      

  2.   


    create or replace procedure abssf as
    begin
      INSERT INTO sc_jc_rm
        (sc_jc_rm.bl_id,
         sc_jc_rm.bl_name,
         sc_jc_rm.fl_id,
         sc_jc_rm.rm_id,
         sc_jc_rm.rm_name,
         sc_jc_rm.area_rm,
         sc_jc_rm.rm_cat,
         sc_jc_rm.rm_type,
         sc_jc_rm.dv_id)
        SELECT rm.bl_id,
               bl.name,
               rm.fl_id,
               rm.rm_id,
               rm.name AS abc,
               bl.area_rm,
               rm.rm_cat,
               rm.rm_type,
               rm.dv_id
          FROM rm, bl
         WHERE rm.bl_id = bl.bl_id;
    commit;
    end;这里漏了提交,如果想查有没有执行成功,主要还是查询user_jobs,这个表的last_dte指的是上一次成功执行的时间
      

  3.   

    user_jobs(FAILURES) --任务运行连续没有成功的次数
    user_jobs里面其他字段都可以参考一下
      

  4.   

    给rm表插了条数据,在sc_jc_rm表里没有。。上面代码有什么问题么(commit加上了)
      

  5.   

    给rm表插了条数据,在sc_jc_rm表里没有。。上面代码有什么问题么(commit加上了)SELECT rm.bl_id,            bl.name,            rm.fl_id,            rm.rm_id,            rm.name AS abc,            bl.area_rm,            rm.rm_cat,            rm.rm_type,            rm.dv_id       FROM rm, bl      WHERE rm.bl_id = bl.bl_id; 你这段sql能查到数据么 ,能查到 那你肯定能插入的
      

  6.   

    SELECT rm.bl_id,
           bl.name,
           rm.fl_id,
           rm.rm_id,
           rm.name AS abc,
           bl.area_rm,
           rm.rm_cat,
           rm.rm_type,
           rm.dv_id
      FROM rm, bl
      

  7.   

    给rm表插了条数据,在sc_jc_rm表里没有。。上面代码有什么问题么(commit加上了)SELECT rm.bl_id,            bl.name,            rm.fl_id,            rm.rm_id,            rm.name AS abc,            bl.area_rm,            rm.rm_cat,            rm.rm_type,            rm.dv_id       FROM rm, bl      WHERE rm.bl_id = bl.bl_id; 你这段sql能查到数据么 ,能查到 那你肯定能插入的可以查到的
      

  8.   

    begin 
    dbms_job.run(:job1);
    end; 这一段是不是有问题啊 报“绑定变量 "job1" 未声明
    匿名块已完成”
      

  9.   

    commit加上了 我这个user_jobs表里的last_date数据全部都是null,上面代码还有问题吗
      

  10.   

    那样肯定不行的create or replace procedure abssf as
    begin
      INSERT INTO sc_jc_rm
        (sc_jc_rm.bl_id,
         sc_jc_rm.bl_name,
         sc_jc_rm.fl_id,
         sc_jc_rm.rm_id,
         sc_jc_rm.rm_name,
         sc_jc_rm.area_rm,
         sc_jc_rm.rm_cat,
         sc_jc_rm.rm_type,
         sc_jc_rm.dv_id)
        SELECT rm.bl_id,
               bl.name,
               rm.fl_id,
               rm.rm_id,
               rm.name AS abc,
               bl.area_rm,
               rm.rm_cat,
               rm.rm_type,
               rm.dv_id
          FROM rm, bl
         WHERE rm.bl_id = bl.bl_id;
         commit;
    end;

    declare job1 number;
    begin
    dbms_job.submit(job1, 'abssf;', sysdate, 'sysdate+1/86400');
    commit;
    end;你直接这样不就好了么,另外你这个job的nextdate 是sysdate,就不知道行不行了,你可以指定一个时间
      

  11.   

    先查以下sql,看有数据不?截图看看select job from user_job where what = 'abssf;'看看是多少,再执行begin 
    dbms_job.run(查出来的数字);
    end;估计是没运行,查看运行的job需要查看dba权限的表DBA_JOBS_RUNNING;你像上面执行一遍看看
      

  12.   

    create or replace procedure abssf as
    begin
      INSERT INTO sc_jc_rm
        (sc_jc_rm.bl_id,
         sc_jc_rm.bl_name,
         sc_jc_rm.fl_id,
         sc_jc_rm.rm_id,
         sc_jc_rm.rm_name,
         sc_jc_rm.area_rm,
         sc_jc_rm.rm_cat,
         sc_jc_rm.rm_type,
         sc_jc_rm.dv_id)
        SELECT rm.bl_id,
               bl.name,
               rm.fl_id,
               rm.rm_id,
               rm.name AS abc,
               bl.area_rm,
               rm.rm_cat,
               rm.rm_type,
               rm.dv_id
          FROM rm, bl
         WHERE rm.bl_id = bl.bl_id;
      commit;
    end;
    /
    declare 
    job1 number; 
    begin 
    dbms_job.submit(job1, 'abssf;', sysdate, 'sysdate+1/86400'); 
    commit;
    end;你就直接运行这段代码 肯定行的
      

  13.   

    我执行select * from sc_jc_rm where  bl_id='0100001' and fl_id='F01' and rm_id='0119'  查询结果没有数据啊影魔大神
      

  14.   

    怎么这么多,删掉相同,重新建一个就好,而且你1秒一次,是不是太频繁了,不知道有没有关系,刚才我执行了一下一秒一次10W数据插入,把我笔记本给卡死了,没看到结果
    删除job   begin
       dbms_job.remove(85);
      end;
      

  15.   

    create or replace procedure abssf as
    begin
      INSERT INTO aa(id, flag) SELECT 1,2 from dual ;
      commit;
    end;
    /
    declare
      job1 number;
    begin
      dbms_job.submit(job1, 'abssf;', sysdate, 'sysdate+1/86400');
      commit;
    end; 举个简单例子,测试过 没问题,不会是代码问题, 你查不到数据,你还是找找你数据的原因吧