Oracle实现数据的自动删除
我有一张表,表字段有用户名,密码,邮箱,是否激活,注册时间我想用触发器实现这样一个功能:每天对数据库内的数据检查,如果从注册时间开始,超过七天没激活的账户自动删除。我需要...
我有一张表,表字段有用户名,密码,邮箱,是否激活,注册时间
我想用触发器实现这样一个功能:
每天对数据库内的数据检查,如果从注册时间开始,超过七天没激活的账户自动删除。
我需要用java实现,不知可否给点具体的 展开
我想用触发器实现这样一个功能:
每天对数据库内的数据检查,如果从注册时间开始,超过七天没激活的账户自动删除。
我需要用java实现,不知可否给点具体的 展开
2个回答
展开全部
用触发器实现不是不行,但是存在效率问题。
建议写个存储过程,再建立一个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每天晚上运行一次。
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 广告
2024-08-23 广告
数据库备份是确保数据安全与业务连续性的关键环节。我们上海今至电子科技有限公司高度重视数据保护,定期执行全面的数据库备份策略。这包括使用先进工具和技术,对关键业务数据进行自动化备份,并存储在安全可靠的外部存储介质或云端。通过定期验证备份的完整...
点击进入详情页
本回答由今至电子科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询