当前位置:  数据库>oracle

Oracle 11g下ORA-01417的解决方法

    来源: 互联网  发布时间:2017-06-12

    本文导语: 今天有客户反馈,有一条SQL在12C上没有问题,在Oracle 11g上就报错,报错内容是ORA-01417: 表可以外部连接到至多一个其他的表。分析了下SQL,抽象为下列的例子。 在12c下没有问题: SQL> select * from v$version; BANNER                  ...

今天有客户反馈,有一条SQL在12C上没有问题,在Oracle 11g上就报错,报错内容是ORA-01417: 表可以外部连接到至多一个其他的表。分析了下SQL,抽象为下列的例子。

在12c下没有问题:

SQL> select * from v$version;

BANNER                                                                              CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production              0
PL/SQL Release 12.1.0.1.0 - Production                                                    0
CORE    12.1.0.1.0      Production                                                        0
TNS for Linux: Version 12.1.0.1.0 - Production                                            0
NLSRTL Version 12.1.0.1.0 - Production                                                    0
drop table test1 purge;
drop table test2 purge;
drop table test3 purge;
create table test1 (id number primary key);
create table test2 (id number);
create table test3 (dept_id number,measure_id number);
insert into test1 values(1);
insert into test1 values(2);
insert into test1 values(3);
insert into test2 values(10);
insert into test2 values(20);
insert into test3 values(1,10);
commit;

SQL> select *
      from test1, test2, test3
    where test1.id = test3.dept_id(+)
      and test2.id = test3.measure_id(+);
        ID        ID    DEPT_ID MEASURE_ID
---------- ---------- ---------- ----------
        1        10          1        10
        2        10
        2        20
        3        20
        1        20
        3        10
已选择6行。

在11g下有问题:

SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
SQL> select *
      from test1, test2, test3
    where test1.id = test3.dept_id(+)
      and test2.id = test3.measure_id(+);
 where test1.id = test3.dept_id(+)
                *
第 3 行出现错误:
ORA-01417: 表可以外部连接到至多一个其他的表

--把test1和test2联合起来,再与test3关联,问题解决

SQL> select *
      from (select test1.id dept_id, test2.id measure_id from test1, test2) a,
          test3
    where a.dept_id = test3.dept_id(+)
      and a.measure_id = test3.measure_id(+);

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

Oracle Linux 6.5安装Oracle 11.2.0.4 x64


    
 
 

您可能感兴趣的文章:

  • 解决oracle用户连接失败的解决方法
  • Oracle Connect to Idle Instance解决方法
  • Linux下安装Tomcat后与Oracle冲突的解决
  • linux下安装oracle,出现没有权限的报警,怎么解决?
  • 安装Oracle加载数据库错误areasQueries的解决
  • Oracle 11g 相关工具netca,dbca乱码之解决
  • Linux安装Oracle 11时报错DISPLAY解决方案
  • Linux下Oracle安装时遇到的问题及解决
  • 简单的Oracle小问题解决
  • oracle中文乱码解决的办法
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • 安装oracle9时,安装界面的字体无法正确显示,怎么解决啊???
  • Oracle安装后8080和80端口被占用的解决办法
  • oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法
  • 网络技术 iis7站长之家
  • Linux下命令行启动oracle时报错的解决
  • 急!急!jbuilder中新建oracle数据源的问题,解决立即给分!
  • Linux系统下安装Oracle X11错误解决办法
  • Linux中安装Oracle乱码问题的解决
  • Oracle与JSDK4.0环境变量冲突,如何解决(在线等待)?
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • ORACLE 中修改用户密码的方法
  • Linux下完全卸载ORACLE 10G的方法
  • 将Oracle 8i数据成功移植Oracle 10g的方法
  • oracle增加表空间大小两种实现方法
  • linux下用ODBC链接Oracle怎么连啊?跪求具体方法!!!
  • Linux系统下查看oracle SID的方法
  • oracle 彻底删除方法
  • window中oracle环境变量设置方法分享
  • Oracle 忘记密码的找回方法
  • Oracle中serveroutput参数一次设置永久保存方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,