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.
兩個相同的視圖,只是名字不一樣,我在其中一個增加一條數據,能夠正常執行,在另外一個就報這個錯誤了,在下面語句中
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 ------------------------------------
間 的空行去掉就行了。 這是書寫語法問題。
