rollback;
似乎没有撤消更改表更改。
背景:
我正在生成一些 .sql 脚本(基于解析的 Hibernate 脚本),这些脚本正在破坏我的表。导入完整的数据库进行测试最多需要 30 分钟(也会减慢我的机器速度),尽管我喜欢休息,但我更愿意使用回滚等命令撤消所有操作,然后重试。
顺便说一句,这是 Oracle 10g Express Edition 版本 10.2.0.1.0
这甚至可能吗?
使用特快版,我不确定这是可能的。您不能回滚 DDL 操作,ALTER TABLE
因为 DDL 是隐式提交的。
Oracle 确实可以选择创建还原点,然后您可以相对快速地将整个数据库闪回到某个时间点。这将撤消在创建还原点和发出闪回命令的点之间所有已提交事务(DML 和 DDL)的影响。这是一个创建和闪回还原点的示例,这是另一个为整个数据库执行闪回的示例。我只是不确定此功能在快速版中是否可用。
此版本的 Oracle 对任何 ALTER TABLE 语句执行提交。