sql文中。in(...) oracle对()内的参数 有没有个数的限制?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql文中。in(...) oracle对()内的参数 有没有个数的限制?相关的知识,希望对你有一定的参考价值。
工作中遇到的问题。 in(..) ()里的参数 可能会达到几百个。 听说。oracle对于这个参数的个数有限制。没有查到。找一高手帮解答。
参考技术A sql中,in后面是可以跟查询语句,只要是一个结果集就行,对于是否有个数限制,倒还真没遇到,建议你把你的参数写成select语句形式,实际测试一下 参考技术B declarei number;
r number;
str long := '';
begin
for i in 1 .. 1000 loop
str := str || i || ',';
r:=i;
end loop;
execute immediate 'select 1 from dual where 1 in (' || str||to_char(r+1) || ')';
end;
最大数量不超过1000个,否则报错oracle 10g下
ORA-01795: 列表中的最大表达式数为 1000 参考技术C 最大数量不超过1000个,否则报错oracle 10g下
ORA-01795: 列表中的最大表达式数为 1000 参考技术D in()参数达到几百个?你确定你要把这几百个参数一个个的写出来?
你应该采用变通的办法
in()这个()中还可以接收select 查询语句例如
select * from emp where deptno in (select deptno from dept) 第5个回答 2011-09-29 据说最多1000个。
以上是关于sql文中。in(...) oracle对()内的参数 有没有个数的限制?的主要内容,如果未能解决你的问题,请参考以下文章