【发布时间】:2013-09-02 02:34:48
【问题描述】:
我正在使用 oracle 10g 和 sql developer 来编写查询。
我有一个用户ESTRADM,它有一些表格和一些物化视图。我正在尝试在表 MTEP_THREEDS_CARD_MASTER 中插入一行,并且其各自的物化视图是 MTEP_THREEDS_CARD_MASTER(表和视图具有相同的名称)。
现在当我执行查询时
insert into ESTRADM.MTEP_THREEDS_CARD_MASTER values (col1,col2,..);
它给了我一个错误:
错误报告:
SQL 错误:ORA-01732:此视图上的数据操作操作不合法
01732. 00000 - “数据操作操作在此视图上不合法”
*原因:
*行动:
我的实体化视图已禁用 QUERY REWRITE。
我不明白为什么它试图插入视图为什么它没有写入表? 如何在表格中插入一行?
【问题讨论】:
-
表和视图在同一个模式中?在同一架构中,表和视图不能具有相同的名称。
-
实际上我已经从 .dmp 导入了架构,它已经导入了物化视图和表,表和物化视图具有相同的名称。
-
其实我没有管理员权限所以不能重命名。
-
DBA 可以重命名或请求提供执行任务所需的权限。
-
可能是因为我不是管理员,所以我无法更改表,因为我也无法从普通用户访问 sqlplus,并且我以管理员身份安装了 oracle 10g 和 sql developer用户