科研院所 db2 9.7

DB2 如何快速删除表中的部分数据 每次大约100万行

如题,主要是数据量较大,决定每天将数据从一张表中,转存到另一张表中,每次转存大约100万行,做法是将原来表中的部分数据load到新表中,然后将原来表中的那些数据删除掉,有什么比较快的删除数据的方法,不需要记日志。
参与17

16 同行回答

sunchaosailor sunchaosailor 软件开发工程师 SIA
回复 10# wolfop    可是我不关闭log的话,直接删除,使用循环日志,还是会报事务日志已满,无法删除。请问,还有别的好的方案吗?显示全部
回复 10# wolfop


   可是我不关闭log的话,直接删除,使用循环日志,还是会报事务日志已满,无法删除。请问,还有别的好的方案吗? 收起
科研院所 · 2014-05-29
浏览2080
sunchaosailor sunchaosailor 软件开发工程师 SIA
回复 9# wjf870128   谢谢啊,这个问题解决了。写了一个动态SQL,然后用execute IMMEDIATE,可以执行DDL,谢谢你啊!显示全部
回复 9# wjf870128


  谢谢啊,这个问题解决了。写了一个动态SQL,然后用execute IMMEDIATE,可以执行DDL,谢谢你啊! 收起
科研院所 · 2014-05-29
浏览2262
sunchaosailor sunchaosailor 软件开发工程师 SIA
各位,我的转存存储过程如下, CALL SYSPROC.ADMIN_CMD ('LOAD FROM (DATABASE DATA11_2 SELECT * FROM db2admin.TD_PLANTMODEL_TESTS where result_on < ''2014-3-29 7:00:00'') OF       CURSOR INSERT INTO db2admin.TD_PLANTMODEL_TESTS_L1 NONRECOV...显示全部
各位,我的转存存储过程如下,
 CALL SYSPROC.ADMIN_CMD ('LOAD FROM (DATABASE DATA11_2 SELECT * FROM db2admin.TD_PLANTMODEL_TESTS where result_on < ''2014-3-29 7:00:00'') OF
      CURSOR INSERT INTO db2admin.TD_PLANTMODEL_TESTS_L1 NONRECOVERABLE');
   commit;
  alter table db2admin.TD_PLANTMODEL_TESTS activate not logged initially;
    delete from db2admin.TD_PLANTMODEL_TESTS where result_on < '2014-3-29 7:00:00';
   commit;
结果编译不通过,
SQL0104N  An unexpected token "alter" was found following "
".  Expected tokens may include:  "TRUNCATE".


这是什么问题啊?转存程序有问题吗?我是菜鸟,恳请大家帮忙! 收起
科研院所 · 2014-05-29
浏览2269
sunchaosailor sunchaosailor 软件开发工程师 SIA
回复 5# wjf870128    您好!alter table xxx activate not logged initially这句话,是要写在存储过程中吗?紧接着写delete语句?我写在存储过程中,报错,QL0104N  An unexpected token "alter" was found following "".  Expected tokens may incl...显示全部
回复 5# wjf870128


   您好!alter table xxx activate not logged initially
这句话,是要写在存储过程中吗?紧接着写delete语句?
我写在存储过程中,报错,
QL0104N  An unexpected token "alter" was found following "
".  Expected tokens may include:  "TRUNCATE".

我是菜鸟。。。恳请大侠指教啊。 收起
科研院所 · 2014-05-29
浏览646
sunchaosailor sunchaosailor 软件开发工程师 SIA
回复 2# ydliujiang    我希望仅删除表中的一部分,不是把整个表全部删除。truncate不能按条件删除啊!显示全部
回复 2# ydliujiang


   我希望仅删除表中的一部分,不是把整个表全部删除。truncate不能按条件删除啊! 收起
科研院所 · 2014-05-29
浏览619

    提问者

    sunchaosailor
    软件开发工程师 SIA
    评论15

    相关问题

    问题状态

  • 发布时间:2014-05-29
  • 关注会员:1 人
  • 问题浏览:12364
  • 最近回答:2014-06-09
  • X社区推广