2009-11-16 22 views

回答

1

沒有這樣的限制。

您可以通過創建一個SQL像證實了這一點自己:

select 'x' from PS_INSTALLATION where 
     1 = 1 and 
     1 = 1 and 
     1 = 1 and 
     1 = 1 and 
     /* ... copy paste '1 = 1 and' 90000 times or so times more */ 
     1 = 1 

雖然它使p側相當緩慢,這保存和驗證就好了。

1

PeopleCode中有限制,主要是由於字符串長度的限制,但是我從來沒有發現存儲SQL語句的限制。

2

我知道應用程序引擎(SQL步驟)中使用的SQL的大小有限制。在嘗試在應用程序引擎中使用異常長的SQL時,我曾經收到類似的錯誤。

如果相同的限制適用於SQL對象,我不會感到驚訝。

要解決這個問題,我能夠將SQL拆分爲2個(是更新語句)。希望你的情況也是如此。

0

就我個人而言,我會考慮以某種方式將聲明分解成幾部分。

,你可以:

  • 使用App引擎的內在循環機制
  • 使用SQL的混合物的PeopleCode
  • 使用臨時表並執行中間SQLS,在臨時表中存儲

除了給你的數據庫一個心臟癲癇發作之外,當他看到SQL監視器中的語句時不提及DBA。如果你再次看到這個陳述,那麼你正在拯救自己一個痛苦的世界。

我認爲App Engines中的SQL存儲爲long,所以在Oracle下是4GB,在DB2下是類似的。

相關問題