在 Oracle(也可能在其他地方)中,执行 ALTER TABLE 语句将对当前事务进行隐式提交。
我们有一个工具(用 Java 编写)应该通过以下方式修改模式:
编写的工具将向用户显示当前模式布局并允许他对其进行修改。(基本上是向某些表添加或删除自定义“属性”列)一旦他满意,他就可以应用他的更改。
请注意:基本架构布局以及您需要通过 ALTER TABLE 更改某些内容这一事实是由标准预定义的,我们无法更改,因为其他工具将不再起作用。
现在的问题是我们不能在单个事务中运行这些更改,因为 AFAIK,不可能在一个事务中执行多个 ALTER TABLE 语句。
如果在应用更改时出现问题,我们有哪些选项可以“回滚”到初始状态?
注意:这里有人提出了 RESTORE POINT + FLASHBACK——从这个(Java)工具调用它是个好主意吗?(在一些应该使用该工具的站点上,我们没有完全控制数据库实例。)
注意:Oracle 10g2 及以上
SERIALIZABLE
事务和闪回查询之间有什么概念上的区别吗?
什么是ID 反模式,为什么/在什么情况下它被视为反模式?
id 反模式在每个表中都有一个唯一的 ID 列。为每条新记录生成 ID。为什么这是一个反模式?– 安德鲁沃尔夫 11 分钟前
出于交互式调试的目的,我想知道是否可以查询另一个会话当前已放入数据库但尚未提交的数据。
假设我在调试器中打开了我的应用程序,当我在某个断点处停止时,我想通过来自 SQLDeveloper(或 sqlplus)的简单查询以交互方式检查应用程序的会话“正在查看”什么。
这可以通过 Oracle XE 实现吗?(因为它用于调试,所以没有 DBA 或安全限制。)