ORA-01795: 列表中的最大運算式數為1000

來源:互聯網
上載者:User

有個開發人員遇到錯誤:ORA-01795: 列表中的最大運算式數為1000

語句為一個select xxx from xxx where xxx in (xx,xx,.....);

下面我們來看一下這是什麼錯誤:

01795, 00000, "maximum number of expressions in a list is 1000"
// *Cause: Number of expressions in the query exceeded than 1000.
// Note that unused column/expressions are also counted
// Maximum number of expressions that are allowed are 1000.
// *Action: Reduce the number of expressions in the list and resubmit.

 

從這裡可以看出,是一個list裡面最多1000個值,也就是說in裡面最多1000個值,如果in的括弧裡面超過了1000個值,就會報這個錯誤。

解決的方法和簡單,就是把一個in拆分成多個in,如果超過了1000就拆分成2個in,如果超過了4000,就拆分成5個in

改成sql如下:select xxx from xxx where xxx in (xx,xxx...) or xxx in (xx,xx,...) or xxx in (xx,xx,...);

GoldenGate不使用資料泵完成Oracle-Oracle的雙向複製

使用GoldenGate的資料泵進行Oracle-Oracle的單向複製

如何對 Oracle 資料泵(expdp/impdp) 進行 debug

Oracle 資料庫匯出資料泵(EXPDP)檔案存放的位置

Oracle 10g 資料泵分區表的匯出

相關文章

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.