Oracle实现数据的自动删除

我有一张表,表字段有用户名,密码,邮箱,是否激活,注册时间我想用触发器实现这样一个功能:每天对数据库内的数据检查,如果从注册时间开始,超过七天没激活的账户自动删除。我需要... 我有一张表,表字段有用户名,密码,邮箱,是否激活,注册时间
我想用触发器实现这样一个功能:
每天对数据库内的数据检查,如果从注册时间开始,超过七天没激活的账户自动删除。
我需要用java实现,不知可否给点具体的
展开
 我来答
H_Y_H
推荐于2017-10-13 · TA获得超过154个赞
知道小有建树答主
回答量:223
采纳率:0%
帮助的人:195万
展开全部
用触发器实现不是不行,但是存在效率问题。
建议写个存储过程,再建立一个job每天晚上运行一次。
create or replace produce autoDel as
begin
delete from yourtable where 是否激活='N' and 注册时间<sysdate-7;
end
在用建立job
variable job1 number;
begin
sys.dbms_job.submit(job => :job,
what => 'autoDel',
next_date => to_date('01-10-2011 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'sysdate+1');每天运行过程一次
commit;
end;
追问
要直接运行job的话感觉比较麻烦,因为是网页,可否用java来调用这个job,通过网页上的链接来管理呢?如果可以可否请你举例说明调用的方法。
追答
好吧,orcle的job不需要调用,会自动运行。
next_date 参数是下一次运行的时间
interval 是间隔时间,从下次运行开始,每隔interval这么长时间就会自动的运行
今至电子科技有限公司
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整... 点击进入详情页
本回答由今至电子科技有限公司提供
jianwenh
2011-09-27 · TA获得超过333个赞
知道小有建树答主
回答量:432
采纳率:0%
帮助的人:336万
展开全部
触发器的激活语句是delete\update\insert,显然你缺少触发器激活条件.建议:
整个守护进程,跑个存储过程,create produce yourpro as
delete from yourtable where 是否激活='N' and 注册时间<sysdate-7;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式