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

 

posted @ 2013-08-03 12:41  心亦  阅读(655)  评论(0编辑  收藏  举报