2016-05-17 25 views
0

我正在運行一個Netezza SQL查詢,該查詢通過select語句創建一個表,返回將近80億行。下面是該查詢:無法理解數十億行的更新計數INSERT

CREATE TABLE 
    table1 AS 
    (
     SELECT 
      column1 
     FROM 
      table2 qt 
     WHERE 
      qt.column1 = '2016-04-04' 
     UNION ALL 
     SELECT 
      column1 
     FROM 
      table3 qt 
     WHERE 
      qt.column1 = '2016-04-04' 
    ) 

駕駛員引發此錯誤:

org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [UNDEFINED]; error code [0]; 
    --- The error occurred while applying a parameter map. 
    --- Check the statement (update failed). 
    --- Cause: Unable to fathom update count INSERT 0 7779737732 

有誰知道是什麼引起的?

+1

您使用的數據庫是?什麼是你正在運行的SQL查詢? – azurefrog

+0

也許驅動程序/ db只能處理可以用32位或更少位來表示的整數,至少在這種情況下。你還沒有真正讓我們繼續下去。 –

+0

@azurefrog它被標記爲Netezza。我也添加了查詢,雖然我不認爲它在這種情況下特別有用。 –

回答

3

我認爲您正在運行JDBC驅動程序限制。如果運行一個INSERT,更新,創建通過JDBC和插入,更新的行的數目AS SELECT或創建的超過2147483647,將收到類似於以下的錯誤消息:

Unable to fathom update count INSERT 0 5120000160 

上述錯誤消息可以是給出不同的INSERT,UPDATE或CREATE作爲SELECT並給出實際影響的行數。這是JDBC規範本身的限制。

謝謝, Sanjit