红叉表示是失效的对象。select status from user_objects; 用这个SQL可以查到状态,如果是invalid就是红叉。存储过程和物化视图在执行时,如果是invalid的,会先编译一次再执行。编译之后状态就变成valid了,再执行,所以可以查询出数据。
查过了,有红叉,未进行编译,状态还是INVALID,但还是可以查询出数据的。
在plsql界面里面,你edit进去,重新编译下,红叉叉就会不见了啊!
oracle物化视图是根据select * from table where 语句创建的视图。 当物化视图创建后,物化视图里的数据量不会变化,当你向基表table中插入新数据时,只要这些新数据符合物化视图的where条件,但是物化视图里没有这些数据,这时物化视图就会显示红叉。只要对物化视图做刷新操作,红叉就会消失。
用这个SQL可以查到状态,如果是invalid就是红叉。存储过程和物化视图在执行时,如果是invalid的,会先编译一次再执行。编译之后状态就变成valid了,再执行,所以可以查询出数据。
在plsql界面里面,你edit进去,重新编译下,红叉叉就会不见了啊!
当物化视图创建后,物化视图里的数据量不会变化,当你向基表table中插入新数据时,只要这些新数据符合物化视图的where条件,但是物化视图里没有这些数据,这时物化视图就会显示红叉。只要对物化视图做刷新操作,红叉就会消失。