truncate删除数据oracle删除表数据的方法
在Oracle数据库中,删除表数据的方法有三种:DELETE、TRUNCATE和DROP。
1. DELETE语句:用于删除表中的数据,但表结构不会被删除。这个操作会被放到rollback segment中,事务提交之后才生效。如果有相应的trigger,执行的时候将被触发。DELETE语句不会隐式提交,需要手动提交。
2. TRUNCATE语句:是DDL(数据定义语言)的一种,操作立即生效,原数据不放到rollback segment中,不能回滚,操作不触发trigger。TRUNCATE和delete只删除数据不删除表的结构。TRUNCATE语句缺省情况下将空间释放到minextents个extent,除非使用reuse storage,TRUNCATE会将高水线复位(回到最开始)。
3. DROP语句:将删除表的结构以及被依赖的约束(constrain)、触发器(trigger)、索引;依赖于该表的存储过程/函数将保留,但是变为invalid(无效)状态。DROP语句将表所占用的空间全部释放。DROP命令的速度最快,因为它不会记录在日志中。一旦执行没有退步的余地。
请注意,这些操作都应谨慎使用,特别是DROP和TRUNCATE,因为一旦执行没有退步的余地。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论