create or replace procedure proc_test as
begin
insert into aa(id) select a.id,
sysdate from a;
end;
declare job_num number;
begin
dbms_job.submit(job_num,'proc_test;',SYSDATE,'sysdate+2/24/60');
end;
问题在行: 8 上开始执行命令时出错 -
declare job_num number;
begin
dbms_job.submit(job_num,'proc_test;',SYSDATE,'sysdate+2/24/60');
end;
错误报告 -
ORA-06550: 第 1 行, 第 93 列:
PLS-00905: 对象 CESHI1.PROC_TEST 无效
ORA-06550: 第 1 行, 第 93 列:
PL/SQL: Statement ignored
ORA-06512: 在 "SYS.DBMS_JOB", line 82
ORA-06512: 在 "SYS.DBMS_JOB", line 140
ORA-06512: 在 line 3
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
------解决思路----------------------
表aa只列了一个字段,所以查询a表时只要字段a.id即可,sysdate不需要
insert into aa(id) select a.id,
sysdate from a;
------解决思路----------------------
存储过程内部存在问题,插入一个列 后面又select 两个列,肯定会报错
create or replace procedure proc_test as
begin
insert into aa(id) select a.id,
sysdate from a;
end;