算了,分享出来,给遇到同样问题的童鞋一下支持,顺便把这个问题关了。
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 uncatalog db PBOC,把该数据库编目去了,就不会list出来了,再到该目录下删除文件夹
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)