请教一个关于日期时间的问题,着急在线等! 我现在要做个程序根据配置的周期进行运行,周期有如下几种,年,季,月,星期,日!如果是年,哪么每一年的第一天0点0分0秒运行程序,如果是季,哪么每一季的第一天0点0分0秒运行程序,月,星期,日都一样。请问如何实现,给点思路! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以把要做的事情写个存储过程,然后oracle里边不是有个job么,用来定时触发你写的那个存储过程,你可以设定第年触发一次或月,日,星期什么都可以。 --oracle job可以做,给你个例子:现在创建了一张新表,然后定时的把 学生表 统计出来的数据插入到新表中,请问怎样实现?学生表编号,注册时间,姓名,性别新表obj_id,注册日期,注册人数具体说明 : 每天早上 3:00系统自动从 学生表 中统计前一天 注册人数(如果前一天没有人注册,则这天注册人数为零),CREATE TABLE job(id number,dt date);CREATE SEQUENCE job_seq START WITH 1 INCREMENT BY 1;--建立一个存储过程CREATE OR REPLACE PROCEDURE p_jobtestIS id NUMBER;BEGIN SELECT job_seq.NEXTVAL INTO id FROM dual; --插入新表 INSERT INTO job VALUES(id,sysdate); COMMIT;END;/--提交一个JOB ,每天晚上十点执行DECLARE v_jobno NUMBER;BEGIN sys.dbms_job.submit(job => v_jobno, what => ' begin p_jobtest; end;', next_date => to_date('2010-09-27 22:00:00','yyyy-mm-dd hh24:mi:ss'), interval => 'trunc(sysdate+1)+22/24') ;END;/ 我现在是有一个存储过程,然后用job调用,job每一分钟调用一次,如果当前时间符合周期配置里,每一年,每一季,每一月,每一星期,每一天的0分左右,哪么我就往下执行。但是这个判断代码我不知道怎么写,在unix里可以配置 00.00.*.* 但是orcal里不知道怎么写代码! 不太清楚您所说的问题和Oracle有什么关系?请把问题描述清楚,运行的是什么程序,由谁来运行,你写的程序代码还是由数据库来运行? 可能我表达的有问题,说的简单点吧,我现在有配置表里面的配置数据如下。编码 名称 计算值 1 年 ....2 季 ....3 月 ....4 星期 ....5 日 ....我现在要从一张数据表里读取信息,如果数据配合的是年,哪么我每年第一天0时0分0秒插入一条数据如果是季,哪么每季第一天哪么我每年第一天0时0分0秒插入一条数据。月,星期,日同上。这块时间判断程序在oracle里怎么写, 上表的计算值能怎么配置下,用在方法里体现出来 job+case表达式.你的周期怎么得到?描述的具体些 还是导入和导出的问题,关于imp和exp oracle表空间导出问题。 在局域网ORACLE服务器上,用SQL命令创建表为什么没反应?难道是表太大,机器慢? oracle改变表空间 急!!!急!!!数据库开启时报错!!请大侠们指教!!!! 求一查询语句 Linux fedora core5 (FC5) 下面不能装 Oracle 10g 么? 大虾们。怎么从ORACLE里的数据导出为XML文件和TXT文件 定时任务如何设置 查询每天每间房第一号,求oracle的查询sql Oralce表建了怎么不能用 怎么写一个oracle存储过程,从表一查询出数据导入表二,插入后无重复数据
--oracle job可以做,给你个例子:现在创建了一张新表,然后定时的把 学生表 统计出来的数据插入到新表中,请问怎样实现?
学生表
编号,注册时间,姓名,性别
新表
obj_id,注册日期,注册人数具体说明 : 每天早上 3:00系统自动从 学生表 中统计前一天 注册人数(如果前一天没有人注册,则这天注册人数为零),CREATE TABLE job(id number,dt date);
CREATE SEQUENCE job_seq START WITH 1 INCREMENT BY 1;--建立一个存储过程
CREATE OR REPLACE PROCEDURE p_jobtest
IS
id NUMBER;
BEGIN
SELECT job_seq.NEXTVAL INTO id FROM dual;
--插入新表
INSERT INTO job VALUES(id,sysdate);
COMMIT;
END;
/--提交一个JOB ,每天晚上十点执行
DECLARE
v_jobno NUMBER;
BEGIN
sys.dbms_job.submit(job => v_jobno,
what => ' begin p_jobtest; end;',
next_date => to_date('2010-09-27 22:00:00','yyyy-mm-dd hh24:mi:ss'),
interval => 'trunc(sysdate+1)+22/24') ;
END;
/
我现在是有一个存储过程,然后用job调用,job每一分钟调用一次,如果当前时间符合周期配置里,每一年,每一季,每一月,每一星期,每一天的0分左右,哪么我就往下执行。但是这个判断代码我不知道怎么写,
在unix里可以配置 00.00.*.* 但是orcal里不知道怎么写代码!
可能我表达的有问题,说的简单点吧,我现在有配置表
里面的配置数据如下。编码 名称 计算值
1 年 ....
2 季 ....
3 月 ....
4 星期 ....
5 日 ....我现在要从一张数据表里读取信息,如果数据配合的是年,哪么我每年第一天0时0分0秒插入一条数据
如果是季,哪么每季第一天哪么我每年第一天0时0分0秒插入一条数据。
月,星期,日同上。
这块时间判断程序在oracle里怎么写, 上表的计算值能怎么配置下,用在方法里体现出来
你的周期怎么得到?描述的具体些