码迷,mamicode.com
首页 > 数据库 > 详细

oracle常见错误

时间:2015-11-18 12:05:55      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

1.

无效的关系运算符

ORA-00920: invalid relational operator

ORA-00920: invalid relational operator ORA-00920: 无效的关系运算符

从AWR中复制的sql放到plsql dev中运行时,有时会报这个错误。 很奇怪吧,AWR中的sql怎么会报错? 这应该是Oracle生成AWR的时候有bug导致。

导致这个报错常常是由于在AWR中额外添加了空格导致,如下例子: WHERE coa_ cu stomer = customer_id  上一行多添加了两个空格,正确的应该是: WHERE coa_customer = customer_id

 

去掉这些额外的空格后,就不报错了。问题是AWR出这种错误时,一般是较长sql,此时往往需要用肉眼找出问题出在哪里,比较费时费力。

 

2.

oracle 中 ORA-00936: missing expression

两个相同的视图,只是名字不一样,我在其中一个增加一条数据,能够正常执行,在另外一个就报这个错误了,在下面语句中  
sum(case when substr(c.pd_proj_type_code_de,4,3) = ‘609‘ then c.pd_tzly_sum else 0 end) JBYBF_SUM_SJ,
sum(case when
substr(c.pd_proj_type_code_de,1,4) in (‘1111‘,‘1211‘,‘1221‘,‘1231‘,‘1311‘,‘1401‘)
then c.pd_tzly_cz else 0 end) JBYBF_SUM_BZ 我只增加了一个‘1401’

解决:
把: ------------------------------------         sum(case when                                  
substr(c.pd_proj_type_code_de,1,4) in ------------------------------------
间 的空行去掉就行了。 这是书写语法问题。


oracle常见错误

标签:

原文地址:http://www.cnblogs.com/beijingstruggle/p/4973899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!