详解Oracle DELETE和TRUNCATE 的区别
展开全部
--删除表结构,并删除里边的数据及在这个表上的索引等等
drop table 表名
--清空数据,只是数据
truncate table 表名
--按条件删除数据
delete from 表名 where 条件
--删除全部数据,但不释放空间
delete from 表名
这么看,
delete from 表名
和
truncate table 表名
似乎是一样的,但是truncate 执行后会释放数据库的空间,而delete不会释放空间
drop table 表名 的话,也是可以释放空间的
执行truncate 和drop后,会导致触发器,存储过程,函数等等的失效,truncate的话,可以重新编译一下,即可,但是drop后,可能就会永久失效了
drop table 表名
--清空数据,只是数据
truncate table 表名
--按条件删除数据
delete from 表名 where 条件
--删除全部数据,但不释放空间
delete from 表名
这么看,
delete from 表名
和
truncate table 表名
似乎是一样的,但是truncate 执行后会释放数据库的空间,而delete不会释放空间
drop table 表名 的话,也是可以释放空间的
执行truncate 和drop后,会导致触发器,存储过程,函数等等的失效,truncate的话,可以重新编译一下,即可,但是drop后,可能就会永久失效了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询