事务处理本身是保护数据完整性的手段,但是在使用事务处理的过程之中需要注意一点:在用户更新事务后,还未进行提交中,如果发生了DDL操作(比如建表操作),那么所有的事务都会自动提交。
事务只对表的更新DML起作用,对DDL不起作用。表删错了,或改错了,事务是控制不了的。
假如说现在有一张表中的所有数据不再需要了,那么首先想到的是将数据表中的全部数据使用delete删除。在这样的删除过程之中就会出现一种情况:
由于事务的控制,导致数据不会立刻被删除,同时这些数据所占用的资源不会立刻消失,也就是说在一段时间之内,此数据是依然会存在的。所以如果使用delete删除,那么就有可能出现资源被占用的情况,为此在Oracle中提供了一种称为截断表的概念,如果表一截断,数据表所占用的资源将全部释放。同时将无法使用事务进行恢复。
语法:TRUNCATE TABLE 表名称;
这个时候才属于彻底的资源释放。