Welcome 微信登录

首页 / 数据库 / MySQL / Oracle中的truncate语句

最近在项目中碰到个问题,更新过期数据时事务没有回滚。前前后后仔细检查了一遍事务配置,始终没有找出问题所在。最后经过单步调试,总算找到了问题根源:使用truncate删除数据,导致事务被提交。1、在Oracle中删除数据后还能回滚是因为数据被放在了undo表空间。2、DML = Data Manipulation Language,数据操纵语言,使用undo表空间;DDL = Data Definition Language,数据定义语言,不使用undo表空间。delete是DML语句,truncate是DDL语句,DDL语句隐式提交,即使当前事务出错,也无法回滚。EXP-00024,Oracle未安装导出视图解决方案SQL Server Cpu 100% 的常见原因及优化相关资讯      Oracle数据库基础教程 
  • 在Oracle数据库中插入含有&符号的  (03/06/2013 09:20:14)
  • Oracle 执行计划更改导致数据加工  (02/13/2013 14:45:04)
  • 判断Oracle Sequence是否存在  (02/13/2013 14:32:26)
  • Oracle数据库中无法对数据表进行  (02/26/2013 14:24:58)
  • Oracle 在同一台主机上建立用户管  (02/13/2013 14:40:58)
  • Oracle em 无法启动,报not found错  (02/13/2013 14:29:48)
本文评论 查看全部评论 (0)
表情: 姓名: 字数

<