下面一个存储过程是创建一个job,在5秒后更新一个表:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
create or replace PROCEDURE P_TEST AS jobno number; BEGIN dbms_job.submit( jobno, 'update t_zhan set z_name=''aaa'' where z_id=80', sysdate+5/(24*60*60),-- 5秒 null ); commit; END P_TEST;
执行此存储过程所报的错误:
Connecting to the database defect_data.
ORA-06550: 第 1 行, 第 135 列:
PL/SQL: ORA-00933: SQL 命令未正确结束
ORA-06550: 第 1 行, 第 93 列:
PL/SQL: SQL Statement ignored
ORA-06550: 第 1 行, 第 139 列:
PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
begin
case declare end exception exit for goto if loop mod null
pragma raise return select update while with <an identifier>
<a double-quoted delimited-identifier
ORA-06512: 在 "SYS.DBMS_JOB", line 79
ORA-06512: 在 "SYS.DBMS_JOB", line 136
ORA-06512: 在 "DEFECT.P_TEST", line 5
ORA-06512: 在 line 2
Process exited.
错误原因:
SQL语句后面少了一个分号