我想让oracle数据库每天23:00点干一件事情,怎么实现呢??
我单位服务器上安装Oracle数据库,其中有两个表biao1;biao2.
biao1中有数字型字段A1;
biao2中有数字型字段A1;
我想在每天23:00系统自动从biao2中读出A1,赋值给biao1的A1.
怎么实现呢,菜鸟希望能够得到详细的代码。
------解决方案--------------------写一个从biao2读取值插入到biao1的存储过程,创建一个Job,执行这个存储过程。
设置Interval的值为每天的23:00点即可。
每天的23点:TRUNC(sysdate) +23/(24)
------解决方案--------------------写个过程,建个job
create or replace procedure pp_pro is--过程
begin
update biao1
set a1 =
(select a1 from biao2 where biao2.id = biao1.id);
commit;
end pp_pro;
--创建job
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job => X
,what => 'pp_pro;'
,next_date => to_date('2014-01-23 23:00:00', 'yyyy/mm/dd hh24:mi:ss')
,interval => TRUNC(sysdate+23/24)
,no_parse => TRUE
);
END;
/
commit;
------解决方案--------------------过程名后面有分号的 ,还有你不是要23点执行么,那你时间间隔怎么是12个小时,执行 你直接按f8就行了