PLS-00103: 出现符号 ""在需要下列之一时 ( ; is with oracle利用存储过程设计定时器的问题

简单的定时器,目的是为了更新某个字段的内容,暂时无需传参

--编存储过程
create or replace procedure prc_job_test
is
t_type varchar2(10);
t_code varchar2(20);
begin
t_type :=1;
t_code :=YYYY-MM-DD;		--注意 :=一定是英文的
update ZHYY_TK_BASE b set b.tkstatus = t_type 
where (select TO_char(SYSDATE,t_code)  from dual) = b.tkstatus;
commit;
end;

最值得注意的是全角和半角的问题会报错,因此最好将copy的代码重新码一遍 切记不能在idea里面编写存储过程,他会自动解析填充空格,那空格应该是有问题的,我将代码放到plsql上,将代码置顶,空格删除,问题就解决了

--编写定时器
declare
tm_job number;
begin
dbms_job.submit(tm_job,
prc_job_test;,		--分号不能忘记,填写的是存储过程的name
sysdate,
sysdate+1/(24*60)		--注意逗号,此处的时间间隔为一分钟执行一次
);						--sysdate+1(一天执行一次)
end;
/
经验分享 程序员 微信小程序 职场和发展