dbms_job.submit:想要在今天23点执行,然后每一小时执行一次 如果 ,我想要执行 proc_deletePerson()存储过程我想在今天(2011-03-11的晚上) 23点执行一次,然后在12点、明天 的1 点、2点,即每隔一小时再执行一次怎么写啊,急死我了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、把init <sid> .ora中如下两个参数打开 JOB_QUEUE_INTERVAL=60 JOB_QUEUE_PROCESSES=4 2.declarejobno number;begindbms_job.submit(jobno, 'sp_countofmonth; ',sysdate, 'sysdate+1/1440 ');commit;dbms_job.run(jobno);commit;end;/ 具体的创建一个自定义过程SQL> create or replace procedure test as 2 begin 3 insert into a values(sysdate); 4 end; 5 /过程已创建。创建JOBSQL> variable job1 number;SQL> SQL> begin 2 dbms_job.submit(:job1, 'test; ',sysdate, 'sysdate+1/1440 '); --每天1440分钟,即一分钟运行test过程一次 3 end; 4 /PL/SQL 过程已成功完成。运行JOBSQL> begin 2 dbms_job.run(:job1); 3 end; 4 /PL/SQL 过程已成功完成。SQL> select to_char(a, 'yyyy/mm/dd hh24:mi:ss ') 时间 from a; 写一个存储过程,判断sysdate,当sysdate等于23点,12点,明天的上午1/2点,等于这个时间点的,就去执行这个存储过程 上面是通过JOB的方式,也可以考虑放到系统里,用计划任务的方式。例如,Linux crontab + shell Windows 计划任务 + bat 值得注意的是Oracle有的时候并不去执行你的Job,甚至不报错!这和Oracle的设置有关系,但作为开发者不愿意去设置这些,唯恐数据库服务器瘫掉!最好我们用系统自带的计划任务来完成这样的工作,无非是写一个winform程序! ORA-00059: 超出 DB_FILES 的最大值? index 查询 查看某个表的所有字段的数据类型、长度? 统计sql问题 oracle9i导出的数据库文件怎么导入oracle10g中 本地数据库无法连接 Oracle 用户和实例问题 哪儿能下载到LogMiner?? 急啊!sql语句求教 声明变量太多了?奇怪~~ 哪有Oracle 10g 的下载地址啊!! cpp关联交易
JOB_QUEUE_INTERVAL=60
JOB_QUEUE_PROCESSES=4
2.
declare
jobno number;
begin
dbms_job.submit(jobno, 'sp_countofmonth; ',sysdate, 'sysdate+1/1440 ');
commit;
dbms_job.run(jobno);
commit;
end;
/
创建一个自定义过程
SQL> create or replace procedure test as
2 begin
3 insert into a values(sysdate);
4 end;
5 /过程已创建。创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1, 'test; ',sysdate, 'sysdate+1/1440 '); --每天1440分钟,即一分钟运行test过程一次
3 end;
4 /PL/SQL 过程已成功完成。运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /PL/SQL 过程已成功完成。SQL> select to_char(a, 'yyyy/mm/dd hh24:mi:ss ') 时间 from a;
例如,Linux crontab + shell
Windows 计划任务 + bat