表一: t1
字段:序号 00000001 书名:心灵鸡汤 价格:34 作者:tom
序号 00000002 书名:幽默杂志 价格20 作者:fet
表二: t2
字段:序号 书名 价格
实现功能
每天早八点提取表一中序号,书名,价格字段内容加到表二中,每个2小时执行一次,晚上八点结束
每周日 根据表一中的数据将表二中的所有的数据都update一遍
因为对表一的操作是在应用程序中进行的,因此无法在将数据插入表一的同时插到表二中,所以想了这个办法。 现在的问题:如何实现每天的这种定时操作。表一是每天更新的
字段:序号 00000001 书名:心灵鸡汤 价格:34 作者:tom
序号 00000002 书名:幽默杂志 价格20 作者:fet
表二: t2
字段:序号 书名 价格
实现功能
每天早八点提取表一中序号,书名,价格字段内容加到表二中,每个2小时执行一次,晚上八点结束
每周日 根据表一中的数据将表二中的所有的数据都update一遍
因为对表一的操作是在应用程序中进行的,因此无法在将数据插入表一的同时插到表二中,所以想了这个办法。 现在的问题:如何实现每天的这种定时操作。表一是每天更新的
解决方案 »
- oracle wmsys.wm_concat 问题
- 急求!SQL文厉害的一定要顶啊!
- 有没有什么方法去掉xml结果中的<RN_code> </RN_code>
- 关于建表的问题?谢谢
- 关于RMAN小问题!高手就不用进来了,我怕我丢人!!!!我分不多只能出2分!
- 如何去掉字符串中的光标(回车符号)
- 我现在要重新安装一个WIN2000SERVER,想把整个ORACEL8i导出来,怎么办?请高手指点一下~!
- oracle中关于对象的部分
- oracle中case的用法
- 请问pl_Sql的单行函数dump()怎么用法?
- 读取ORACLE数据时候,中文的为什么变成了问号?(顶者有分)
- 请教:如何查找、删除表(海量数据)中重复的记录?
假设有一个存储过程p_test,每20分钟执行一次
解答:
1、把init<sid>.ora中如下两个参数打开
JOB_QUEUE_INTERVAL=60
JOB_QUEUE_PROCESSES=4
job_queue_keep_connections=true 然后重启一个库,如果原来已经打开了则不用这步了
2、示例,以下由sqlplus 来执行,具体参照一下相关的文档
VARIABLE jobno number;
BEGIN
DBMS_JOB.SUBMIT(:jobno,
'p_test;'
SYSDATE,'SYSDATE + 1/72');
commit;
END;DBMS_JOB.SUBMIT(:jobno,//job号
'your_procedure;',//要执行的过程
trunc(sysdate)+1/24,//下次执行时间
'trunc(sysdate)+1/24+1'//每次间隔时间
);
删除job:dbms_job.remove(jobno);
修改job:dbms_job.what(jobno,what);
修改下次执行时间:dbms_job.next_date(job,next_date);
修改间隔时间:dbms_job.interval(job,interval);
停止job:dbms.broken(job,broken,nextdate);
启动job:dbms_job.run(jobno);
例子:
VARIABLE jobno number;
begin
DBMS_JOB.SUBMIT(:jobno,
'Procdemo;',
SYSDATE, 'SYSDATE + 1/720');
commit;
end;
/