首页 > 数据库 >Oracle重新编译视图

Oracle重新编译视图

时间:2023-10-15 09:11:55浏览次数:37  
标签:name 视图 编译 查找 user Oracle ---------

当表名、列名、列类型等底层表的信息发生改变的时候,就会使得视图无法使用,其时就需要对视图进行重新的编译。

第一步,查找失效的视图。

可以使用数据字典中的user_objects来查找出失效的视图名,还可以利用user_views来查找出相应视图的代码信息。

基本的代码如下:

----------------查找出失效的视图  
Select object_name,      ---------对象名称  
      object_type,      ---------对象类型   
      status            ---------对象当前状态  
from user_objects        ---------用户对象表  
where object_type= 'VIEW'   
and status = 'INVALID';  
 
----------------利用上面找出的试图名称,查找出视图的代码  
Select VIEW_NAME,   --------视图名称  
      TEXT         --------视图的代码  
from user_views     --------用户视图表   
where  view_name='view_name';

第二步,重新编译。

可以使用以下方式来重新编译视图:

ALTER  VIEW view_name COMPILE;

如果视图的结构被改变了(如底层表的列被删除了),则上面的这种方法无法对视图重新编译成功。需要重新执行视图的定义SQL语句。

标签:name,视图,编译,查找,user,Oracle,---------
From: https://www.cnblogs.com/xfeiyun/p/17765230.html

相关文章

  • Oracle中表被锁的查询与处理
    查询引起了锁表的原因selectl.session_idsid,s.serial#,l.locked_mode,l.oracle_username,s.user#,l.os_user_name,s.machine,s.terminal,a.sql_text,a.actionfromv$sqlareaa,v$sessions,v$locked_obje......
  • node-oracledb typeorm 集成试用
    主要是测试下typeorm与node-oracledbthin模式的集成环境准备docker-compose文件version:'3'services:db:image:gvenzl/oracle-xe:21.3.0-slimports:-"1521:1521"environment:-ORACLE_PASSW......
  • ubuntu18.04环境下编译支持debuginfod的gdb
    ubuntu18.04环境下编译支持debuginfod的gdb介绍Ubuntu22.10版本才默认安装debuginfod,对于之前的发行版都需要手动配置。gdb从10.1版本才开始支持debuginfod,而Ubuntu旧的发行版里gdb都低于10.1版本。另外,debuginfod被包含在elfutils里面,且从elfutils-0.178版本后才支持,而Ubuntu......
  • Oracle数据库
    Ⅰ数据库①层次型数据库②网状型数据库③关系型数据库(主要介绍)E-R图:属性(椭圆形),实体(矩形),联系(菱形-一对一、一对多、多对多)注:有的联系也有属性关系型数据库的设计范式:第一范式(1NF):属性不可再分,字段保证原子性第二范式(2NF):在满足1NF的基础上,要求表中的每条记......
  • Windows访问Oracle VM VirtualBox虚拟机下Linux docker
    设置网络中的NAT方式下的端口转发  配置主机端口和客体端口,客体端口设置Linuxdocker容器端口,主机端口设置windows访问docker时用到的端口。比如,Linuxdocker容器端口为80,客体端口设置为80,在windows访问时,通过localhost:主机端口,如localhost:80,就能访问。 ......
  • MFC静态反编译GetMessageMap相关查找方法
    MFC中GetMessageMap包含对多数消息处理的结构,界面菜单,按钮都在这,找到GetMessageMap很关键structAFX_MSGMAP_ENTRY{UINTnMessage;//windowsmessageUINTnCode;//controlcodeorWM_NOTIFYcodeUINTnID;//controlID(or0forwindowsmessage......
  • ORACLE:集群oracle查看session的语句
    1.查看session可以把status改为ACTIVE和INACTIVEv$session和gv$session只在RAC中区别明显,有g是全局的,rac的两个数据库中的内容,没有是但实例的数据库的,内容不全rac么?  gv$开头视图是rac全局的,v$开头是本节点的gv$session比v$session多一个字段而已: INST_ID selectmachi......
  • Netty源码编译
    Netty源码编译想了解Netty源码,最好先从netty-example开始,多跑几个example,了解Netty的实际应用。编译netty-example会出现很多乱七八糟的问题,根本原因是因为缺少io.netty.util.collection包。解决方法1.先installDev-Tools模块2.接着installCommon模块instal......
  • Anaconda虚拟环境配置Python库与Spyder编译器
      本文介绍在Anaconda中,为Python的虚拟环境安装第三方库与Spyder等配套软件的方法。  在文章创建Anaconda虚拟Python环境的方法中,我们介绍了在Anaconda环境下,创建、使用与删除Python虚拟环境的方法;而创建虚拟环境后,就需要在对应的环境内配置各类库与软件,本文就对这些操作加以......
  • 基于Win 自带的.NET FrameWork平台,使用文本文件编写C#代码,命令行编译以及引用第三方库
    转载自https://www.infoq.cn/article/2015/12/visual-studio-windows 不用VisualStudio也能开发.NETWindows应用邵思华2015-12-29本文字数:2915字阅读完需:约10分钟对于.NET应用的开发人员而言,以VisualStudio(简称VS)作为首选的开发工具应当是一种最......