我有一个 Spring Boot 应用程序,在其中连接到 SQL Server、Sybase、Oracle 和 MySQL 数据库以获取元数据详细信息。在 Oracle 中使用以下代码收集表的行数时
Resultset.getlong("rowcount")
我遇到以下错误
SQL 异常 - 数字溢出。
当行计数大于长最大值时,我们会收到此错误。理想情况下,我们不想抛出异常,而是想捕获它并对其进行一些处理。
就像我们在 Oracle 中遇到带有数字溢出流的 SQL 异常一样,我们想知道 SQL Server 和 Sybase 数据库服务器会收到什么样的异常和消息。
我们无法在开发环境数据库中创建包含那么多行的表来测试它。
您可以使用此创建一个具有任意数量行的虚拟表
WITH SeqCTE AS (
SELECT 1 AS Seq
UNION ALL
SELECT Seq + 1
FROM SeqCTE
WHERE Seq < @newRows -- specify the desired number of rows
)
SELECT Seq
INTO #SequentialNumbers
FROM SeqCTE;
有了这个,你应该能够尝试自己得到什么样的异常。