truncate 有什么用啊

[复制链接]
查看11 | 回复9 | 2007-12-27 10:29:19 | 显示全部楼层 |阅读模式
truncate table t1;
成功后
desc t1仍然可以返回信息,
就是没删除吗,
那这个命令还有什么用啊???
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
Truncate just delete the data in the table and deallocate the HWM
Not drop
u can drop the table if you really needn't want it......
Reference the beginer of Oracle
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
truncate又不是drop,晕
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
截短表
  truncate命令与drop命令相似, 但他不是删除整个数据表,所以索引、完整性约束、触发器、权限等都不会被删除。缺省情况下将释放部分表和视图空间,如果用户不希望释放表空间,truncate语句中要包含reuse storage子串。truncate命令语法如下:
truncate {table|cluster} [schema.] name {drop|reuse storage}
  例:
sql> truncate table t1;
table truncate.

我还是不知道这个命令有什么具体作用啊
在什么时候会有这种需求??
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
最初由 Kolyen 发布
[B]截短表
  truncate命令与drop命令相似, 但他不是删除整个数据表,所以索引、完整性约束、触发器、权限等都不会被删除。缺省情况下将释放部分表和视图空间,如果用户不希望释放表空间,truncate语句中要包含reuse storage子串。truncate命令语法如下:
truncate {table|cluster} [schema.] name {drop|reuse storage}
  例:
sql> truncate table t1;
table truncate.

我还是不知道这个命令有什么具体作用啊
在什么时候会有这种需求?? [/B]

你想删除表的数据,用truncate会更快.因为不象 DELETE命令那样,要生成大量的日志.
所以TRUNCATE 速度很快.但是TRUNCATE是DDL语句,所以不能ROLLBACK的.
而且TRUNCATE 能降低表的HWM.
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
truncate cannot rollback. not recommended to beginner.
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
truncate can shrink used space
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
你说的是drop
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
对啊,你说的是drop table ,不是truncate 相当于 delete from ,只是不写日志.
回复

使用道具 举报

千问 | 2007-12-27 10:29:19 | 显示全部楼层
Truncate Command 是 DDL 语句,使用要小心。 对使用事务处理要注意。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行