oracle常見錯誤

來源:互聯網
上載者:User

標籤:

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常見錯誤

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.