我有一个基于物化视图的交互式网格。查询很简单SELECT * FROM MY_MATERIALIZED_VIEW
。我在物化视图中添加了几列并刷新了它。然后我刷新了 APEX 页面,但没有显示新列。我做错了什么还是需要手动将这些列添加到 APEX 端的网格中并选择源作为数据库列?
1 回答
2
据我所知,这是您提到的第二个选项。Apex 使用页面的“旧”物化视图定义,并且不知道您所做的任何更改。它显示旧布局。但是,如果您添加一个 NOT NULL 列并尝试将新添加的行保存到当前网格,它会中断。
所以,是的 - 您必须手动添加这些列。或者,如果交互式网格足够简单(即您没有做太多更改),那么删除该区域并使用向导创建一个新区域可能会更简单。
正如 Patrick 评论的那样(最好保留在此处而不是在评论中),最新的(18.x 及更高版本)Apex 版本提供了一个不错的选项:同步列,右键单击交互式网格的节点时在上下文菜单中可用。它会将新添加的列添加到交互式网格中,因此您不必重新创建该区域。
于 2020-01-27T20:07:03.017 回答