问一下这样的存储过程为啥建立job会出现这样的失败?

iwhp 2010-08-25 04:59:03
---1.创建一个自定义过程
reate or replace procedure resch as
begin
delete from res_ge1 where a = 2;
commit;
delete from res_ge2 where b = 3;
commit;
delete from res_ge3 where c = d;
commit;
end;
/

---------上面的存储过程,建立job后报错:
ORA-06550: 第 11 行, 第 0 列:
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> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe
job3
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsjw18 2010-09-04
  • 打赏
  • 举报
回复
job号是oracle帮你分配的,你只要取别名就可以了
jsjw18 2010-09-04
  • 打赏
  • 举报
回复
你自己好好检查一下,你的存储过程编译会不会通过,多了个没有定义的变量 d,你要它怎么执行啊。编译你没用工具么?
iwhp 2010-09-03
  • 打赏
  • 举报
回复
不是中文字符问题。
因为我如果改变存储过程。就没问题。
会不会是存储过程里面不能有中文?
HuaIng 2010-08-26
  • 打赏
  • 举报
回复
在写符号的时候注意输入法:不能用中文输入法输入分号,编译器不识别。
有中文的输入符号的情况就会出现你所示的报错信息
iwhp 2010-08-26
  • 打赏
  • 举报
回复
新建JOB可以指定 job号吗?
iwhp 2010-08-25
  • 打赏
  • 举报
回复
我原来建立的job的方式是下面这样的,报错,用你的就没错:
variable job1 number;
begin
sys.dbms_job.submit(job => :job1,
what => 'WLAN_1;',
next_date => trunc(sysdate,'HH')+1/24,
interval => 'SYSDATE+1/24');
commit;
end;
/
minitoy 2010-08-25
  • 打赏
  • 举报
回复
不知道你是怎么建立job的.描述下建立job的过程吧.
还有就是你的存储过程里的标点符号都是中文的-_-!
iwhp 2010-08-25
  • 打赏
  • 举报
回复
能说一下我的语句报错的原因吗?
minitoy 2010-08-25
  • 打赏
  • 举报
回复
SQL> create or replace procedure resch as
2 begin
3 delete from emp where empno = 2;
4 COMMIT;
5 delete from emp where empno = 3;
6 COMMIT;
7 delete from emp where empno = 4;
8 COMMIT;
9 end;
10 /

Procedure created

SQL> set serveroutput on
SQL>
SQL> DECLARE
2 v_job NUMBER(20);
3 BEGIN
4 dbms_job.submit(v_job,'begin resch; end;',SYSDATE,'SYSDATE+1/24/60');
5 dbms_output.put_line(v_job);
6 END;
7 /

70

PL/SQL procedure successfully completed

SQL> select * from dba_jobs t where t.JOB=70;

JOB LOG_USER PRIV_USER SCHEMA_USER LAST_DATE LAST_SEC THIS_DATE THIS_SEC NEXT_DATE NEXT_SEC TOTAL_TIME BROKEN INTERVAL FAILURES WHAT NLS_ENV MISC_ENV INSTANCE
---------- ------------------------------ ------------------------------ ------------------------------ ----------- ---------------- ----------- ---------------- ----------- ---------------- ---------- ------ -------------------------------------------------------------------------------- ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------------------------------- ----------
70 SCOTT SCOTT SCOTT 2010-8-25 1 17:09:25 0 N SYSDATE+1/24/60 begin resch; end; NLS_LANGUAGE='SIMPLIFIED CHINESE' NLS_TERRITORY='CHINA' NLS_CURRENCY='¥' NLS_ISO 0102000200000000 0

SQL>

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧