Oracle:如何重命名表以创建版本控制视图?

问题描述 投票:0回答:1

我正在尝试在 Oracle 中使用 EBR 功能。

根据文档here,为了在生产表中进行实时更改,我必须创建一个与我的表同名的版本控制视图。该视图将“替换”包中的真实表,直到包中进行相应的更改。

但在此之前我需要将表重命名为其他名称:

例如:

ALTER TABLE Contacts RENAME TO Contacts_Table;

我不明白这是如何工作的,因为在某个版本中运行此代码时,该表在所有其他版本中被重命名,因此使实时生产版本中的包无效。

有谁知道如何仅重命名特定版本中的表格?

oracle
1个回答
0
投票

表不是可编辑的对象,因此您不能在不同版本中使用不同名称的表。

当您重命名表格时,它在所有版本中都会被重命名。 如果您随后使用表的名称创建一个版本控制视图(在您的例子中,是一个名为

Contacts
的视图),那么您的所有代码都将引用该版本控制视图。 如果您已经有多个版本,则需要确保您希望可用的每个版本中都存在版本控制视图。

一旦您的代码依赖于版本化视图而不是不可编辑表,那么您就可以在一个版本中改进视图定义和/或包定义,而不会影响实时版本中的代码和/或视图定义。

© www.soinside.com 2019 - 2024. All rights reserved.