ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-25154错误解决方法

ORA-25154错误解决方法

原创 Linux操作系统 作者:pingley 时间:2012-02-06 20:57:25 0 删除 编辑
ORA-25154错误解决方法
执行SQL语句出现上述的错误的原因是,在Using子句中的列在select子句的查询列表中使用了表前缀。
因为using子句中的列是两张连接的表中共有的,所以不需要也不能用表前缀指明是哪张表的列。

示例:
SQL> select
  c.customer#,o.isbn,b.retail,o.paideach,nullif(paideach,retail)
  2  from books b join orderitems o using(isbn)
  3  join orders c using(order#)
  4  where c.order# in (1003,1007);
 
select c.customer#,o.isbn,b.retail,o.paideach,nullif(paideach,retail)
from books b join orderitems o using(isbn)
join orders c using(order#)
where order# in (1003,1007);
 
ORA-25154: USING 子句的列部分不能有限定词
错误存在于o.isbn中.
修改以后正确运行
SQL> select c.customer#,isbn,b.retail,o.paideach,nullif(paideach,retail)
  2  from books b join orderitems o using(isbn)
  3  join orders c using(order#)
  4  where order# in (1003,1007)
  5  ;
 
CUSTOMER# ISBN        RETAIL PAIDEACH NULLIF(PAIDEACH,RETAIL)
--------- ---------- ------- -------- -----------------------
     1001 8843172113   55.95    55.95 
     1001 1059831198   30.95    30.95 
     1001 3437212490   19.95    19.95 
     1007 3957136468   75.95    72.15                   72.15
     1007 9959789321   54.50    54.50 
     1007 8117949391    8.95     8.95 
     1007 8843172113   55.95    55.95 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-715725/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    169
  • 访问量
    717403