`
wsql
  • 浏览: 11797166 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Oracle delete truncate drop 的区别

 
阅读更多

1.delete/truncate只删除数据不删除表,索引的结构。drop将删除表的结构依赖的index/constrain/trigger,依赖于该表的procedure/function将保留,但是变为invalid状态;

2.deletedml,写rollbacksegement,可回滚,速度慢,事务提交之后才生效。在9i满足undo_retention条件下可使用flashback。一次性大批量数据的delete可能导致回滚段急剧扩展从而影响到数据库,慎用,触发triggertruncate/dropddl,隐式提交,不写rollbacksegment,不能回滚,速度快。9i不能使用flashback,不触发trigger

3.delete不影响表所占用的extentHWM保持原位置不动,即使删除的是最靠近HWM的数据。delete其实也可以释放空间,但是不降低HWMdeleteblock的空闲空间达到pct_used,就可以重用。truncate缺省情况下将空间(表和索引)释放到minextentsextent,除非使用reusestoragetruncate会将高水线复位(回到最开始)drop将表所占用的空间全部释放,segment不存在,无所谓HWM的概念;

Oracle高水位(HWM)

http://blog.csdn.net/xujinyang/article/details/6830245

4.truncate/drop的对象必须是本模式下的,或者被授予dropanytable的权限,但dropanytable权限不能truncate/dropsys的表。delete的对象必须是本模式下的,或者被授予deleteonSCHEMA.tabledeleteanytable的权限,但deleteanytable权限不能deletesys的表;

5.不能truncate一个带有enable外键的表,不管表里有没有数据,如果要truncate,首先要disable外键或者删除外键(drop外键的表肯定是删除了外键)。不能drop一个带有enable外键的表,不管表里有没有数据,如果要drop,首先要删除外键,或者直接用droptableTABLE_NAMEcascadeconstraints;级联删除外键。delete可以。

转载自网络

------------------------------------------------------------------------------

分享到:
评论

相关推荐

    delete,truncate和drop的区别

    delete,truncate和drop的区别

    详解Truncate delete drop三者的区别

    详细阐述了Oracle中三种删除的方式truncate,drop和delete三者的区别和联系.

    SQL语句中----删除表数据drop、truncate和delete的用法

    SQL语句中----删除表数据drop、truncate和delete的用法,对你爱不完

    利用 Oracle 系统触发器防止误删除表操作

    利用oracle 系统触发器防止用户使用drop table 或truncate table 命令。

    Oracle数据恢复神器Dbseeker 2.5

    因此,在由于各种原因引起的数据库不能打开或者数据库中的表被DROP,TRUNCATE,DELETE后,而且没有备份的情况下,使用Dbseeker能够及时找回数据表记录。 最新版本请访问http://www.dbseeker.com 2015/12/05 Dbseeker...

    Oracle闪回详解--实验

    闪回各种误删除操作:truncate、drop、delete。

    Oracle数据库恢复神器Dbseeker 2.1

    因此,在由于各种原因引起的数据库不能打开或者数据库中的表被DROP,TRUNCATE,DELETE后,而且没有备份的情况下,使用Dbseeker能够及时找回数据表记录。最新版本请访问作者网站http://www.dbseeker.com

    oracle恢复测试.sql

    对Oracle各种恢复进行测试汇总,包括delete、update、drop、insert、truncate、init文件、临时文件、数据文件等。

    最全的oracle常用命令大全.txt

    sql>drop table test c、表空间的创建、删除 六、ORACLE逻辑备份的SH文件 完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/...

    oracle课件从入门到高级1

    oracle认证教程,从入门到高级,• 数据查询:select • DML(data manipulation language): ...create、alter、drop、rename、truncate • 事务控制:commit、rollback、savepoint • DCL(数据控制语言):grant、revoke

    Oracle数据库表的基本操作以及空值问题的解决

    区分delete,drop,truncate?(面试题)3.常见命令:4.Oracle数据库的数据类型:5.null:6.nvl(字段1,值1): 1.Oracle数据库语言分类: 1)DDL:数据定义语言,对数据结构起作用 create:创建某对象 alter:修改某对象 ...

    SQL Server误区30日谈 第19天 Truncate表的操作不会被记录到日志

    误区 #19:Truncate表的操作不会被记录到日志 错误 在用户表中的操作都会被记录到日志。在SQL Server中唯一不会被记录到日志的操作是TempDB中的行版本控制。 Truncate Table语句会将整个表中的所有数据删除。但删除...

    Oracle8i_9i数据库基础

    §1.3.1 SQL和SQL*PLUS的差别 25 §1.3.2 PL/SQL语言 27 §1.4 登录到SQL*PLUS 27 §1.4.1 UNIX环境 27 §1.4.2 Windows NT和WINDOWS/2000环境 29 §1.5 常用SQL*PLUS 附加命令简介 32 §1.5.1 登录到SQL*PLUS 32 §...

    ORACLE锁深入分析

    1.什么是ORACLE锁 数据库是一个多用户使用的共享... 6 X(Exclusive) 排它锁 Alter table、Drop able、Drop index、Truncate table 、Lock exclusive Oracle举例 欢迎登陆交流 程序员百味: http://www.bywei.cn/blog

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    数据库常见面试题

    7、drop,delete与truncate的区别? 8、mysql有哪几种索引? 9、innodb的事务与日志的实现方式? 10、简述Mysql Innodb引擎和MyIASM引擎的区别? 11、innodb的读写参数优化? 12、备份计划,mysqldump以及xtranbackup...

    ORACLE重建索引总结

    3、以删除的叶节点数量:指得是数据行的delete操作从逻辑上删除的索引节点 的数量,要记住oracle在删除数据行后,将 “ 死 “ 节点保留在索引中,这样做可以加快sql删除操作的速度,因此oracle删除数据行后可以不必...

    北大青鸟Oracle教程集1

    包括:表空间, 数据区, 包括:表空间,段,数据区,模式对象 总结 2-2 Oracle 支持 Char,Varchar2,Number,Long,Date, , , , , , Raw,Long Raw 和 LOB 等数据类型 , CREATE,ALTER,DROP 和 TRUNCATE 是用于定 , , 义数据的...

    北大青鸟Oracle教程集2

    包括:表空间, 数据区, 包括:表空间,段,数据区,模式对象 总结 2-2 Oracle 支持 Char,Varchar2,Number,Long,Date, , , , , , Raw,Long Raw 和 LOB 等数据类型 , CREATE,ALTER,DROP 和 TRUNCATE 是用于定 , , 义数据的...

    oracle基础要点第三弹

    1.数据插入使用场景(被插入表不存在/被...2.drop/delete/truncate使用的区别 3.基本事务控制语句的运用 3.通配符与like 连用 '%xxx' '_xxx': 百分号代表多个字符,下划线代表一个字符 4.日期与字符串之间的相互转换

Global site tag (gtag.js) - Google Analytics