我有一些代碼可能會插入大量的行到表中。我目前使用Spring的JdbcTemplate.update
來執行SQL,但我有一個問題。當更新的行數超過2^31時會發生什麼?
的方法,像裸JDBC的Statement.executeUpdate
其所代表,返回int
,其中最大值是當然的2 = 2147483648
所以,問題是,什麼是JDBC在這樣做情況如何?返回MAX_INTEGER,其他數字,拋出異常?或者,行爲可能是平臺(或驅動程序)特定的?我支持SQL Server(通過jTDS)和Oracle(通過瘦驅動程序)。
等待,將您的應用程序_really_在同一個語句插入超過2個十億行?還是純粹的理論問題? – Tunaki
是的,在罕見的情況下,一般來說,它是從一個表格複製(轉換)的行到另一個表格。 – Ray
我不認爲你應該爲此使用Java。如果它將數據從一個表複製到另一個表,則使用您的數據庫工具(如存儲過程)。我甚至無法意識到將這些數據序列化並將數據發送到數據庫需要多長時間,但我認爲這將是巨大的(足夠巨大,因爲應用程序只會在那裏死去)。 – Tunaki