DB2 truncate
db2全量清除数据的方法:
1~3都有问题,可以直接跳过,4的话不推荐,5是整理别人的没有具体操作,6是本人实际项目做出来的办法,可以直接使用,推荐。
1、truncate
TRUNCATE TABLE lee IMMEDIATE
但它有个缺陷经常会报25001,也就是该语句只允许作为工作单元的第一条语句,所以他只能单独在客户端里面执行,不能放入存储过程和方法中。
2、使用Alter语句:
ALTER TABLE lee ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE;
因为Alter语句也不是sql语句,所以DB2的函数和方法编译不会成功,也就是也只可以单独在客户端里面执行,而且执行报错之后,词表会被锁住,之后只能删掉此表,在 重 新建一张一样的表,所以相对来说不太安全。
3、修改表名先新建一张相同的结构只是表明不同的表,之后删除掉对应表,在重新命名该表为刚删除的表,用处完全不大,不推荐。
- 使用 IMPORT 或 LOAD 命令,即:
IMPORT FROM /dev/null OF DEL REPLACE INTO <表名> --(Unix 系统)
或 IMPORT FROM <空文件> OF DEL REPLACE INTO <表名>LOAD FROM /dev/null OF DEL REPLACE INTO <表名> NONRECOVERABLE --(Unix 系统)或 LOAD FROM <空文件> OF DEL REPLACE INTO <表名> NONRECOVERABLE
在这一方法中,REPLACE 导入方式首先会将表中所有数据清空,然后 IMPORT/LOAD 又向表中导入了空数据,从而实现了数据的清除操作,这种方法生产用过一段时间,但是不知道什么情况突然走异常了,具体原因没有去查,有知道的可以留言说一下,暂时不是很推荐。
5、
使用系统提供的ADMIN_CMD函数,因为函数可以调用函数,所以它可以在函数中使用,可以编译执行通过,也可以单独在 客户端里面执行,推荐
步骤,先在一个指定的目录下面新建一个空的del文件如此处的null.del文件:![1](https://img-blog.csdnimg.cn/20190927100628411.png)
CREATE OR REPLACE PROCEDURE P_DELETE_DATA ()
BEGIN
–删除原始流水表
CALL SYSPROC.ADMIN_CMD(‘IMPORT FROM /home/wasadmin/uploadFile/null.del of del REPLACE INTO KL_GLI_VCHR’);
–删除流水表
CALL SYSPROC.ADMIN_CMD(‘IMPORT FROM /home/wasadmin/uploadFile/null.del of del REPLACE INTO GLI_VCHR’);
–删除会计分录表
CALL SYSPROC.ADMIN_CMD(‘IMPORT FROM /home/wasadmin/uploadFile/null.del of del REPLACE INTO TXA_VCHR’);
–删除非分期还款记录表
CALL SYSPROC.ADMIN_CMD(‘IMPORT FROM /home/wasadmin/uploadFile/null.del of del REPLACE INTO RDPF80’);
–删除分期还款记录表
CALL SYSPROC.ADMIN_CMD(‘IMPORT FROM /home/wasadmin/uploadFile/null.del of del REPLACE INTO RDPF90’);
–删除调度日志表
CALL SYSPROC.ADMIN_CMD(‘IMPORT FROM /home/wasadmin/uploadFile/null.del of del REPLACE INTO COM_LOGM’);
–删除原始流水表在在存储过程进行特殊处理的数据
CALL SYSPROC.ADMIN_CMD(‘IMPORT FROM /home/wasadmin/uploadFile/null.del of del REPLACE INTO FDM_GLI_VCHR’);
–删除分期和非分期还款记录表在存储过程进行特殊处理的数据
CALL SYSPROC.ADMIN_CMD(‘IMPORT FROM /home/wasadmin/uploadFile/null.del of del REPLACE INTO LOAN_RTN_VCHR’);
END;
此办法是网上整理,由于手头没有搭建DB2,具体实现自行参考。
6、
这个办法是之前在别的项目想出来的,现在还在生产上跑着,建议使用
EXECUTE IMMEDIATE 'truncate tabe lee IMMEDIATE';
COMMIT;
别问我为什么这么写,好用就行。
DB2 truncate相关推荐
- Oracle数据库联邦,使用联邦数据库将oracle表迁移到DB2(9.7)中的脚本说明
由于兄弟项目组要测试,需要将oracle中的表迁移到db2中,操作步骤如下: #1 在windows数据库中建联邦数据库服务器\用户映射 connect to sample CREATE WRAPPE ...
- DB2基础语法与简单使用
1.启动 [root@MyClone hadoop]# su db2inst1[db2inst1@MyClone hadoop]$ db2start 2.创建数据库 [db2inst1@MyClone ...
- <SQL>《SQL命令(含例句)精心整理版(3)》
<SQL命令(含例句)精心整理版(3)> 10 联结 10.1 联结 10.2 高级联结 10.3 带聚集函数的联结 11 组合查询 13 更新 13.1 INSERT 13.2 UPDA ...
- 数据库移动数据总结一附录
http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r000830 ...
- oracle与db2的应用场景区别,db2和oracle语句区别
1.取前N条记录 Oracle:Select * from TableName where rownum <= N; DB2:Select * from TableName fetch firs ...
- oracle text db2,从Oracle 到DB2(一)
在实际的软件项目的开发过程中,特别是在企业的应用系统集成(EAI)项目中广大开发人员经常遇到不同关系型数据库之间的数据移植问题.笔者根据自己在工作中的不同数据库数据移植的经验经过通用化的java应用程 ...
- db2与oracle的区别 锁,db2和oracle语句区别
1.取前N条记录 Oracle:Select * from TableName where rownum <= N; DB2:Select * from TableName fetch firs ...
- 把C#.NET程序移植到DB2上的经验浅谈(C#连接DB2可以用IBM.Data.DB2.dll)
感谢博客园不再封杀,差点儿搬家的念头都产生了,博客园还是有大胸怀,继续留在博客园写口水文应该没错,娱乐自己.娱乐大家,给枯燥的编程生活增加一点儿笑料,也给大家充当个开心果,让大家高兴一下下.轻松一下下 ...
- oracle与db2 市场占有率,oracle 与 DB2 的区别
1.DB2 访问前10行数据与Oracle区别 DB2 : select * from test fetch first 10 rows only Oracle : select * from tes ...
最新文章
- HPE谢少毅:更敏捷的企业服务,做有生命力的落地实践
- 让逻辑关系破缺的最小空间尺寸
- python处理重复的复制粘贴_如何将数组复制/重复N次到新数组中?
- iOS之界面传值(通知,属性,协议,NSUserDefaults,KVC)
- 6.边缘检测:梯度——计算梯度Matlab实战_5
- Python : *args和**kwargs是什么东东呢?
- 12.Vim 打造成 PHP 开发环境
- 最好用的免费搜题软件,一键聚合搜题!中小学、大学都支持
- windows下手动修改/修复启动项
- pick_types()函数及参数 meg eeg stim eog ecg
- FileOutputStream方法创建文件并写入数值
- 今日头条信息流广告怎么做?(今日头条信息流广告费用解析)
- 万字拆解!追溯ChatGPT各项能力的起源
- 黑客攻击第二次,开redis一瞬间
- np.mat如何使用
- 发布一套类似于网易ITOWN,基于脚本开发的休闲游戏系统
- Java架构师学习路线图
- html5什么网站知乎,老司机秒懂的5个资源网站,知乎超过10万人推荐,竟被我挖掘到了...
- lammps教程:delete_atoms删除原子后原子ID不连续的两种解决方案
- 集成电路之父Jack Kilby鲜为人知的故事