0 0

数据保留时间限制怎么设置?10

如何设置oracle数据库,使得数据插入表后,在表的一个字段设定默认的时间,如:3天,具体也可以写成分或秒数),使得数据在这个时间内数据保存在表中,超过时间的自动删除掉记录。由于新手,请回答的详细些,谢谢啦!

2015年1月12日 16:01

3个答案 按时间排序 按投票排序

0 0


1.可以自己写一个定时任务来定时清除数据库中过时的记录,
2,利用数据库自带的定时任务功能,删除的数据写存储过程

2015年3月11日 16:14
0 0

1楼说的很对,需要做定时任务。
简单点的,可以考虑使用Oracle自带的定时任务。
(oracle10g以上自带定时任务功能。)

详细说明如下:

1,表设计
  表中有两列,
  一列为数据插入时间,就叫做[INSERT_TIME]吧,
  另一列为数据删除时间间隔,约定为分吧,就叫[DELETE_PERIOD]吧。
 
  那么就有如下的SQL可以实现了:
  --删除间隔超过XX分钟的数据----------
  DELETE FROM table_name
  WHERE ceil((SYSDATE - INSERT_TIME) * 24 * 60) > DELETE_PERIOD
 
2,把这个SQL脚本放在一个存储过程中,
  然后在固定的时间去执行这个存储过程就OK了。
  Oracle自带的定时任务,请参照如下文章:
  http://www.cnblogs.com/java-pan/archive/2012/09/16/oracle_job.html

祝你成功!

2015年1月27日 13:35
0 0

和数据库一点关系也没有。
自己写个定时任务,每天或者每小时执行一次。
执行内容就是查数据库这个表,看到时间和当前系统时间差了一定区间以上的时候,把数据删除掉就是了。

2015年1月13日 11:26

相关推荐

Global site tag (gtag.js) - Google Analytics