declare jobid number; v_sql varchar2(2000); begin v_sql:='begin if to_char(sysdate,''HH24:MI'')=''15:30'' then insert into rjck.rkjl(cksj) select cksj from wzcs.ckjl; dbms_output.put_line(''inserted success''); end if; commit; exception when others then rollback; dbms_output.put_line(SQLERRM); end; '; dbms_job.submit(jobid,v_sql,sysdate,'sysdate+1/1440'); dbms_job.run(jobid); dbms_output.put_line('job '||to_char(jobid)||' is running'); end;
网上查查就知道了dbms_job.sumit
jobid number;
v_sql varchar2(2000);
begin
v_sql:='begin
if to_char(sysdate,''HH24:MI'')=''15:30'' then
insert into rjck.rkjl(cksj) select cksj from wzcs.ckjl;
dbms_output.put_line(''inserted success'');
end if;
commit;
exception
when others then
rollback;
dbms_output.put_line(SQLERRM);
end;
';
dbms_job.submit(jobid,v_sql,sysdate,'sysdate+1/1440');
dbms_job.run(jobid);
dbms_output.put_line('job '||to_char(jobid)||' is running');
end;
-------------------------------------------------------------------------------------
触发器的触发基于事件而非时间,如果要定时执行某个操作,可以使用数据库的作业,语法正如vivianfdlpw() 给出的那样。