Heim >Datenbank >MySQL-Tutorial >Oracle中的truncate语句

Oracle中的truncate语句

WBOY
WBOYOriginal
2016-06-07 17:17:131578Durchsuche

最近在项目中碰到个问题,更新过期数据时事务没有回滚。前前后后仔细检查了一遍事务配置,始终没有找出问题所在。最后经过单步调

最近在项目中碰到个问题,更新过期数据时事务没有回滚。前前后后仔细检查了一遍事务配置,始终没有找出问题所在。最后经过单步调试,总算找到了问题根源:使用truncate删除数据,,导致事务被提交。

1、在Oracle中删除数据后还能回滚是因为数据被放在了undo表空间。

2、DML = Data Manipulation Language,数据操纵语言,使用undo表空间;

DDL = Data Definition Language,数据定义语言,不使用undo表空间。

delete是DML语句,truncate是DDL语句,DDL语句隐式提交,即使当前事务出错,也无法回滚。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn