Oracle in expression parameters support up to 1000 maximum
The method is split into multiple col in ... or col in ...
#region solve problems greater than 1000 private string getsubquery (string riskids) {int strparalen = riskids.length; String SUBQ = String. Empty; SUBQ = Subq + "("; if (! "". Equals (riskids) && null! = Riskids) {string[] Riskids = Riskids.split (', '); if (Riskids.length >) {for (int i = 0; i < riskids.length; i++) {if ((i + 1)% = = 0) {String t EMP = subq.substring (0, subq.length-1); SUBQ = string. Empty; SUBQ = Subq + temp; SUBQ = Subq + ") OR To_char (Zfid) in ("; SUBQ = Subq + riskids[i] + ","; } else {subq = Subq + riskids[i] + ",";}} String s_temp = subq.substring (0, subq.length-1); SUBQ = string. Empty; SUBQ = Subq + s_temp; SUBQ = Subq + ")"; } else {subq = Subq + riskids; SUBQ = Subq + ")"; }} else {SUBQ = Subq + ")"; } return subq.tostring (); }
The incoming parameter is a "1,2,3,4" form of string, delimiter ",";
Borrowed from the http://eric-yan.iteye.com/blog/1942713
Oracle in expression parameters support up to 1000 maximum