Oracle重新编译视图
当表名、列名、列类型等底层表的信息发生改变的时候,就会使得视图无法使用,其时就需要对视图进行重新的编译。
第一步,查找失效的视图。
可以使用数据字典中的user_objects来查找出失效的视图名,还可以利用user_views来查找出相应视图的代码信息。
基本的代码如下:
1 | ----------------查找出失效的视图 |
第二步,重新编译。
可以使用以下方式来重新编译视图:
1 | ALTER VIEW view_name COMPILE; |
如果视图的结构被改变了(如底层表的列被删除了),则上面的这种方法无法对视图重新编译成功。需要重新执行视图的定义SQL语句。
------ 本文完 ------