oracle的一个定时执行任务(job定时执行存储过程)

做一个小项目时,需要做到登录密码输入三次错误,锁定该账号,然后在第二天凌晨零点的时候,解锁所有锁定账号。这个可以在表中加上一个时间戳字段,然后后期比对时间戳字段来对相应的账号进行解锁,我比较偷懒,就想着用oracle定时执行任务来做一个批量自动处理,把这个交个数据库自己去执行,省下写方法去比对的操作。现将我oracle语句记录如下,方便大家学习以及未来自己忘记时候回头重新回顾。(其中涉及job以及存储过程的内容)


--------创建定时执行任务

----创建需要定时执行的存储过程:
----功能:修改t_user表和t_administrator表中status不为0的所有记录的status修改为0
create or replace procedure update_status_userandadmin
is
begin
  update t_user set status = 0 where status <> 0;
  update t_administrator set status = 0 where status <> 0;
end;
/

----创建JOB(待测试)
----功能说明:每日凌晨0点定时执行存储过程
declare  update_job_status number;  
begin  
dbms_job.submit(update_job_status,'update_status_userandadmin;',sysdate,'trunc(sysdate)+1');  
commit;  
end;
/

希望这段sql语句对大家有用,也算记录一段我的学习经历,如果有不妥的地方,希望大家指正,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wal1314520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值