小编Mar*_*tin的帖子

在事务中修改表结构?

在 Oracle(也可能在其他地方)中,执行 ALTER TABLE 语句将对当前事务进行隐式提交。

我们有一个工具(用 Java 编写)应该通过以下方式修改模式:

  • 添加一些列
  • 删除一些列
  • 使用新的架构布局更新描述表

编写的工具将向用户显示当前模式布局并允许他对其进行修改。(基本上是向某些表添加或删除自定义“属性”列)一旦他满意,他就可以应用他的更改。

请注意:基本架构布局以及您需要通过 ALTER TABLE 更改某些内容这一事实是由标准预定义的,我们无法更改,因为其他工具将不再起作用。

现在的问题是我们不能在单个事务中运行这些更改,因为 AFAIK,不可能在一个事务中执行多个 ALTER TABLE 语句。

如果在应用更改时出现问题,我们有哪些选项可以“回滚”到初始状态?

注意:这里有人提出了 RESTORE POINT + FLASHBACK——从这个(Java)工具调用它是个好主意吗?(在一些应该使用该工具的站点上,我们没有完全控制数据库实例。)

注意:Oracle 10g2 及以上

schema oracle flashback alter-table

4
推荐指数
1
解决办法
5225
查看次数

闪回查询和可序列化事务模式的区别?

SERIALIZABLE事务和闪回查询之间有什么概念上的区别吗?

oracle flashback transaction

3
推荐指数
1
解决办法
362
查看次数

ID 反模式是什么以及如何?

什么是ID 反模式为什么/在什么情况下它被视为反模式

id 反模式在每个表中都有一个唯一的 ID 列。为每条新记录生成 ID。为什么这是一个反模式?– 安德鲁沃尔夫 11 分钟前

normalization primary-key uniqueidentifier design-pattern

3
推荐指数
1
解决办法
1531
查看次数

是否可以查询不同会话的未提交数据?

出于交互式调试的目的,我想知道是否可以查询另一个会话当前已放入数据库但尚未提交的数据。

假设我在调试器中打开了我的应用程序,当我在某个断点处停止时,我想通过来自 SQLDeveloper(或 sqlplus)的简单查询以交互方式检查应用程序的会话“正在查看”什么。

这可以通过 Oracle XE 实现吗?(因为它用于调试,所以没有 DBA 或安全限制。)

oracle

2
推荐指数
1
解决办法
3213
查看次数