db2数据库根据当前时间删除一年前数据问题

db2数据库根据当前时间删除一年前数据问题,第1张

我汗,最后还是得靠自己解决,连个回答的都没有,百度还不让自己回答;
算了,分享出来,给遇到同样问题的童鞋一下支持,顺便把这个问题关了。
db2 "delete from status where ('20' || substr(WRITETIME,2,2) || '-' || substr(WRITETIME,4,2) || '-' || substr (WRITETIME,6,2))<current date - 1 year";

如果你创建约束时没有命名,DB2
会基于创建时间戳来为其命名,比如
SQL100419222516560。
你可以在DB2
CLP里面找到它命名的约束名
db2
select
constname,
tabname,
btype,
bname,constraint-name
from
syscatconstdep
然后再根据
alter
table
tabname
drop
unique
constraint-name
这个语句应该能删掉了吧,找约束名的那个我也没有试过,你试试看吧。
实在不行就只有删了表重建

这个根据数据量来的:

若数据不大:

用crontab 写个脚本语言,先获取当前时间 比如php 为$day=inter(date("d",time()));//获取当前日期

if($day=1){//判断是否是月初

do{//数据大分页删除;根据时间取

$return = delData(time<strtotime(“-3 month”));

}while($total >(page-1)每页数量);

}

2定时存储过程

CREATE EVENT `e_call` ON SCHEDULE EVERY 3 MONTH eENDS 'time' ON COMPLETION NOT PRESERVE ENABLE DO call p_chk();

db2 list db directory 查看PBOC数据库在哪个目录下,到该目录下查看时候还有文件。
一般 *** 作是直接db2 uncatalog db PBOC,把该数据库编目去了,就不会list出来了,再到该目录下删除文件夹


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13154593.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-12
下一篇 2023-06-12

发表评论

登录后才能评论

评论列表(0条)

保存