记一个Oracle存储过程错误

下面一个存储过程是创建一个job,在5秒后更新一个表:

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;
View Code

执行此存储过程所报的错误:

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语句后面少了一个分号

 

你可能感兴趣的:(oracle存储过程)