db2 表内容 转存部分内容到另一个表

db2 表内容 转存一部分内容到另一个表
本帖最后由 mengjunxiaoxiang 于 2012-12-03 20:20:20 编辑
目前遇到这样一个问题:
系统框架:ssh,数据库:db2。A表有60个字段,该表里的记录逐天增长,所以目前想到的办法是每月将该表里的记录转移一部分到另一个表。详细的操作是在项目里定义一个定时任务,每月的1号晚上20点(如现在是2012年12月),第一步:创建表[A_201212][sql:create table A_201212 like A];每二步:将2012年11月1号之前的数据从A查询出来,并插入到A_201212表【此次操作的记录将近有100万至300万之间】[sql:insert into A_201212 select * from A where colDate <'2012-11-01']。第三步:从A表里删除已经复制到表A_201212里的记录。[sql:delete from A where colDate <'2012-11-01']。
但目前有这样一个问题:第二步的记录太多了。将近有100万至300万之间。用jdbc直接执行该sql或在图形化界面里执行都会报错:SQLSTATE=57011。很明显一次操作的记录太多了。问:有没有其他的办法能够达到每月转存一部分数据到另一个表。并且在夜里执行,并且不会影响到白天7天点晚上19点之间的系统正常运行,可否数据库的触发器或存储过程之类的方法解决。解决的详细方法如何?望给出详细的解决方案或sql。谢谢!
------解决方案--------------------
你可以用利用操作系统的计划任务定时执行一个数据迁移脚本吧
------解决方案--------------------
我现在也碰到这样的问题,那个兄弟指条道呀!谢谢~~~
------解决方案--------------------
之前也碰到过,