日期:2014-05-16  浏览次数:22087 次

ORACLE PLS-00905错误

ORACLE 定时执行存储过程,出现错误,代码如下

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 ; 

end   



variable job1 number; 

begin 

dbms_job.submit(:job1,'abssf;',sysdate,'sysdate+1'); 

end;  


错误报告如下:
ORA-06550: 第 1 行, 第 93 列: 
PLS-00905: 对象 AFM.ABSSF 无效
ORA-06550: 第 1 行, 第 93 列: 
PL/SQL: Statement ignored
ORA-06512: 在 "SYS.DBMS_JOB", line 82
ORA-06512: 在 "SYS.DBMS_JOB", line 139
ORA-06512: 在 line 3
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
------解决方案--------------------

select * from user_jobs where what = 'abssf;'

试下这个表