create table EMP2
(
E_ID NUMBER,
E_NO NUMBER,
E_NAME VARCHAR2(20),
E_SAL NUMBER
);
insert into EMP2 values(1,222,'a',1);
insert into EMP2 values(1,222,'b',1);create or replace procedure clear_zero
is
jobid number;
begin
update emp2 set e_sal=0;
commit;
jobid:=190;
dbms_job.submit(jobid,'clear_zero',sysdate,'sysdate+1/1440');
dbms_output.put_line(jobid);
end clear_zero;SQL> begin
2 -- Call the procedure
3 clear_zero;
4 end;
5 /
报如下错误:
ORA-06550: 第 1 行, 第 104 列:
PLS-00103: 出现符号 "END"在需要下列之一时:
:= . ( @ % ;
符号 ";" 被替换为 "END" 后继续。
ORA-06512: 在 "SYS.DBMS_JOB", line 79
ORA-06512: 在 "SYS.DBMS_JOB", line 136
ORA-06512: 在 "ABC.CLEAR_ZERO", line 8
ORA-06512: 在 line 4
请高手指点一下,谢谢了!
(
E_ID NUMBER,
E_NO NUMBER,
E_NAME VARCHAR2(20),
E_SAL NUMBER
);
insert into EMP2 values(1,222,'a',1);
insert into EMP2 values(1,222,'b',1);create or replace procedure clear_zero
is
jobid number;
begin
update emp2 set e_sal=0;
commit;
jobid:=190;
dbms_job.submit(jobid,'clear_zero',sysdate,'sysdate+1/1440');
dbms_output.put_line(jobid);
end clear_zero;SQL> begin
2 -- Call the procedure
3 clear_zero;
4 end;
5 /
报如下错误:
ORA-06550: 第 1 行, 第 104 列:
PLS-00103: 出现符号 "END"在需要下列之一时:
:= . ( @ % ;
符号 ";" 被替换为 "END" 后继续。
ORA-06512: 在 "SYS.DBMS_JOB", line 79
ORA-06512: 在 "SYS.DBMS_JOB", line 136
ORA-06512: 在 "ABC.CLEAR_ZERO", line 8
ORA-06512: 在 line 4
请高手指点一下,谢谢了!
试试:begin
exec clear_zero;
end;
/
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
这句不能出现在过程,函数中
dbms_job.submit(jobid,'clear_zero',sysdate,'sysdate+1/1440');
改为:
dbms_job.submit(jobid,'clear_zero;',sysdate,'sysdate+1/1440');
回复2楼,可以的,只是这样会导致死循环。