oracle 12c 账号解锁ORA-06502错误的反省

ORA-06502: PL/SQL: 数字或值错误: 字符串缓冲区太小
一般情况对数据库查询的时候我们会用拼接一个where语句的方式来查询,不过有一种情况我们不太确定where语句的内容(比如说,它需要在运行时确定,也就是在执行是拼接一个sql语句  XXXID in (IDa,oracle账号IDb,IDc,…))。
 
这个错误出现前,我的做法是就是这样的。出现问题的原因是,随着数据量的增大,in后面的数据会非常多,从而造成sql语句过长。
 
解决办法为:我把in后面的东西拼接成一个sql语句(select ID distinct from table1where…).

摘自 robot的学习日志

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。