
目录一、导出问题一、导出问题DBeaver 是一款开源且免费的数据库管理工具我经常用它来导出项目上急需统计的数据。有一次我导出 csv 时发现文件里的数据数量和实际的对不上数据库里大概有 10w 条数据但导出来的只有 100 多条这就奇怪了我怀疑是哪里配置出了问题但 DBeaver 导出的配置项就那几样配置出问题又不大可能后来我自己写了一个 Java 工具来导出数据在批量处理数据时程序提示执行 SQL 语句异常ORA-01427:单行子查询返回多个行我立刻意识到问题所在——导出数据的 SQL 语句写的有问题。 SQL 中包含子查询但子查询返回了多个结果集所以执行 SQL 语句报错了回到 DBeaver 。DBeaver 执行 SQL 语句时它不会一次性查询出全部的数据而是分页查询出一部分所以就算 SQL 语句 / 数据有问题前期也暴露不出来。当 DBeaver 导出数据时遇到异常就会结束整个导出任务并且没有报错提示所以我只导出了100多条数据既然发现了问题那解决起来也很简单了改 SQL 就行尤其注意子查询