我有一个存储过程Event_Total_Count,想每天16点执行这个存储过程?
解决方案 »
- 在Red Hat 5下安装Oracle 10g时检测出现这个错误,请问是为什么?
- 一个sql语句问题:select e.ename,m.ename from emp e,emp m where e.mgr=m.empno(+)
- 安装Oracle问题???
- Oracle 实际开发 遇到的 问题,求高人指点?
- 如何把一个表字段限定在另一个表中的某字段的部分值之内?
- oracle跨版本导入导出问题
- 【加急】请问win2k的server上面我安装了oracle8i,原来的机器名是MYBankF1现在要改名字了
- 紧急求救:数据库物理恢复出错,请各位大侠赐教!!!在线等待........
- 数据库连接
- 求教:连接服务器端报ORA-12537,操作系统验证没有问题!
- OTL中的两个问题,关于select语句的
- 请问大家一条SQL
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'Event_Total_Count;'
,next_date => to_date('20/09/2008 16:00:00','dd/mm/yyyy hh24:mi:ss')
,interval => 'trunc(SYSDATE+1)+4/6'
,no_parse => FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
COMMIT;
END;
这个用
interval => 'SYSDATE+1'
也可以的,不过主要怕第一次执行的时间可能不是16点,就会造成每次执行都是第一次执行的时间+1天,所以用
interval => 'trunc(SYSDATE+1)+4/6'
比较保险
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'Event_Total_Count;'
,next_date => TO_DATE('19-09-2008 16:00:00','dd/mm/yyyy hh24:mi:ss')
,INTERVAL => 'TRUNC(SYSDATE+1)'
,no_parse => TRUE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || TO_CHAR(x));
END;
/COMMIT;上面是我写的job,但第一次执行完以后job就变成:DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'Event_Total_Count;'
,next_date => TO_DATE('20-09-2008 00:00:00','dd/mm/yyyy hh24:mi:ss')
,INTERVAL => 'TRUNC(SYSDATE+1)'
,no_parse => TRUE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || TO_CHAR(x));
END;
/COMMIT;不知道什么原因?
下次是当前时间取整+1
时间取整,就是0点,再加1就是第二天0点
要么用sysdate+1
要么用trunc(sysdate+1)+4/6