ORACLE数据库怎么做定时执行操作

我用的是ORACLE数据库,表里三个字段,id,starttime,state.如何做在系统时间到达设置的starttime时,数据库自动修改state的值0改为1。要详... 我用的是ORACLE数据库,表里三个字段,id,starttime,state.
如何做在系统时间到达设置的starttime时,数据库自动修改state的值0改为1。

要详细的代码。。
展开
 我来答
yxd2766
推荐于2016-09-17 · 超过30用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:74.2万
展开全部
1.create table test(id int,starttime date,state int);
2.create or replace procedure sp_update is
cursor cur is select * from test where state=0;
v_id int;
v_starttime date;
v_state int;
begin
open cur;
loop
fetch cur into v_id,v_starttime,v_state;
exit when cur%notfound;
update test set state=1 where starttime=sysdate;
commit;
end loop;
close cur;
end;
/
3.创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
2 dbms_job.submit(:job1,sp_update;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行sp_update过程一次
3 end;
4 /

PL/SQL 过程已成功完成。

运行JOB
SQL> begin
2 dbms_job.run(:job1);
3 end;
4 /
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式