看了以下报错的SQL,写入到一个log文件中,这个SQL足足有1.8G
这种情况,已经无语了,因为in子查询拼接了两万多个值,并且还构造了or,因为超过1000会报错,所以900个值拼一个Or实现。
但是,语句实在太大。
最后,找到原因,就有办法解决了
1、创建临时表,将in要用到的全部写入临时表
2、将In后面的拼接值,直接改为查询
我选择了第二种方式,因为我有条件改为SQL语句,如果在跨库等无条件的时候,可以构造临时表的方式来处理。
------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------
转载请注明本文标题和链接:《oracle的in子查询,用字符串拼接的方式,遇到oracle报ORA-03114断开的问题》
发表评论