DB2 - TRUNCATE命令

DB2 - TRUNCATE命令 支持/不支持?

答案:  DB2 9.7以下版本里不支持TRUNCATE命令, 9.7开始支持该命令.


****

最新DB2 9.7开始兼容了很多PL/SQL的语法, 开始支持Truncate命令

Now with DB29.7, use the TRUNCATEcommand: 

TRUNCATE<table name>

****


Truncate是SQL中的一个删除数据表内容的语句,用法是:  

语法  TRUNCATE TABLE name  

参数  name  

是要截断的表的名称或要删除其全部行的表的名称。 

此操作不写日志,而delete语句是记录日志的。

而DB2不支持truncate语句,但提供另外二种方法来解决上面的问题。
(1) 在建表时加选项not logged initially ,当清空表时通过alter table [name] activate not logged initially with empty table
(2)首先在操作系统上建一个空文件empty.del,接着通过import命令import from empty.del of del replace into [table_name]来清空表中的数据并重组表空间。
方法(2)举个例子如下:

在E盘下新建一个空文件empty.del,然后执行下面语句,便会不记日志删除表 Schema1.Table_A

import from E:\empty.del of del replace into Schema1.Table_A




注:

truncate语法,本人未经测试;

第2种方法经过测试;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值