SQL> variable job1 number;
SQL> begin
2dbms_job.submit(:job1,'proc_test;',sysdate,'sysdate+1+1/1440');
3end;
SQL> begin
2dbms_job.run(:job1);
3end;
4/
begin
dbms_job.run(:job1);
end;
ORA-12011: 无法执行 1 作业
ORA-06512: 在 "SYS.DBMS_IJOB", line 406
ORA-06512: 在 "SYS.DBMS_JOB", line 272
ORA-06512: 在 line 3
job1
据说是存储过程的问题,但是'proc_test;这个存储过程单独运行是没问题的,所以想请教大家帮帮忙……感谢
附:存储过程:
create or replace procedure proc_test
authid current_user
as
h int;
begin
select count(*) into h from all_tables where table_name = 'INVBASDOC';
if (h>0) then
execute immediate 'drop table invbasdoc';
end if;
execute immediate 'create table invbasdoc as select * from bd_invbasdoc';
end ;
如果是因为存储过程里加了个"authid current_user"这个,所以JOB调用的时候就有问题,请问下哪位能帮忙解决下,因为这个存储过程涉及到权限问题,这个是不能去掉的。