折雨的天空
oracle的in子查询,用字符串拼接的方式,遇到oracle报ORA-03114断开的问题
2023-3-26 我好笨


看了以下报错的SQL,写入到一个log文件中,这个SQL足足有1.8G



QQ图片20230326214154.png







这种情况,已经无语了,因为in子查询拼接了两万多个值,并且还构造了or,因为超过1000会报错,所以900个值拼一个Or实现。



但是,语句实在太大。







最后,找到原因,就有办法解决了







1、创建临时表,将in要用到的全部写入临时表



2、将In后面的拼接值,直接改为查询







我选择了第二种方式,因为我有条件改为SQL语句,如果在跨库等无条件的时候,可以构造临时表的方式来处理。

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容