今天用TOAD執(zhí)行SQL遇見(jiàn)一個(gè)ORA-01795: maximum number of expressions in a list is 1000 錯(cuò)誤,
才知道In-list有1000個(gè)元素的限制;
經(jīng)查:
可以使用array bind或者temporary table解決,而且還能綁定變量。
[Limit and conversion very long IN list : WHERE x IN ( ,,, ...) ]
declare
????xx ?dbms_sql.varchar2s;
?? ?l_cursor integer default dbms_sql.open_cursor;
begin
???xx(1):='xxxxxxx';
???xx(2):='xxxxx';
???....
???.....
???....
?dbms_sql.parse(l_cursor,xx,dbms_sql.native);
??dbms_sql.close_cursor(l_cursor);
end;
/