当我在视图上创建索引时,它显示以下错误
ORA-01702:视图不合适
create view xx_emp for select * from emp;
背后的原因是什么............
答案 0 :(得分:4)
您无法在视图上创建索引,这只是一个查询。
可以在具体化视图上创建索引。物化视图是通过评估视图创建的表,以便您可以在其上创建索引。但是,请记住,物化视图不会针对定义它的基表的每个修改进行更新,因此在必须重新计算时,应REFRESH
。
答案 1 :(得分:2)
在TABLE列上定义索引(例如,在EMP.EMP_ID上)
create index emp_idx on emp (emp_id);
并在查询视图时使用它
select * from xx_emp where emp_id = 1;
这对复杂视图不起作用,但对于您的简单情况,索引将(在大多数情况下)用于访问数据。