6
rollback;

似乎没有撤消更改表更改。

背景:
我正在生成一些 .sql 脚本(基于解析的 Hibernate 脚本),这些脚本正在破坏我的表。导入完整的数据库进行测试最多需要 30 分钟(也会减慢我的机器速度),尽管我喜欢休息,但我更愿意使用回滚等命令撤消所有操作,然后重试。

顺便说一句,这是 Oracle 10g Express Edition 版本 10.2.0.1.0

这甚至可能吗?

4

2 回答 2

5

使用特快版,我不确定这是可能的。您不能回滚 DDL 操作,ALTER TABLE因为 DDL 是隐式提交的。

Oracle 确实可以选择创建还原点,然后您可以相对快速地将整个数据库闪回到某个时间点。这将撤消在创建还原点和发出闪回命令的点之间所有已提交事务(DML 和 DDL)的影响。这是一个创建和闪回还原点的示例,这是另一个为整个数据库执行闪回的示例。我只是不确定此功能在快速版中是否可用。

于 2011-08-18T13:45:17.587 回答
3

此版本的 Oracle 对任何 ALTER TABLE 语句执行提交。

看到这篇文章: 可以回滚主要 SQL 数据库中的 CREATE TABLE 和 ALTER TABLE 语句吗?

于 2011-08-18T13:47:19.210 回答