2

有什么方法可以编辑 MVIEW 查询而不将其放入 TOAD。我不确定我们是否可以做到?如果不能,我可以以不影响表格内容的方式进行吗?

提前致谢

4

2 回答 2

3

您无法更改物化视图查询,您必须删除并重新创建它。

请参阅:http ://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_2001.htm

使用 ALTER MATERIALIZED VIEW 语句以下列一种或多种方式修改现有物化视图:

  • 改变其存储特性

  • 更改其刷新方法、模式或时间

  • 改变其结构,使其成为不同类型的物化视图

  • 启用或禁用查询重写

于 2013-02-11T03:26:03.883 回答
0

正如 Jeffre Kemp 所指出的,您无法更改现有物化视图的查询。

但是,如果您预计将来需要进行更改,您可以选择以下方法之一:

  • 使用完成所有繁重工作的中间视图;你的 MATERIALIZED VIEW 然后做一个简单的SELECT * FROM myView. 这允许您更改查询 - 但是,它不允许您在 MATERIALIZED VIEW 中添加/删除列
  • 为您的物化视图使用预先构建的表格;这在逻辑上将保存内容的 TABLE 与用于更新内容的查询分开。现在,您可以删除 MATERIALIZED VIEW,根据需要从 TABLE 中添加/删除列,然后重新创建 MATERIALIZED VIEW
  • 对查询 MATERIALIZED VIEW 的所有代码使用同义词;如有必要,使用 CTAS 创建一个备份表,将同义词指向此备份表,删除并重新创建您的 MATERIALIZED VIEW,将同义词指向 MATERIALIZED VIEW,然后删除您的备份表(我们就是这样做的)
于 2015-06-03T06:35:52.197 回答