我在oracle中动态地形成一个查询来选择我给出id作为输入的数据。我的查询如下
select * from temp where temp_id in ( :Id);
我的输入ID是数千,所以我动态创建in子句,使我的最终查询如下
select *
from temp
where temp_id in (a1,a2,a3,....a999)
or temp_id in (b1,b2,b3,....b999) or so on ....
我的问题在这之后即使我得到太多的值异常。 你能帮我吗?
答案 0 :(得分:3)
一种方法是使用全局临时表:
userAgent
答案 1 :(得分:0)
使用单个请求执行此操作
select * from temp where id in (
select a.letter||b.num from (
select chr(rownum + 96) letter from dual connect by rownum < 3
) a
join (
select rownum as num from dual connect by rownum < 1000
) b on 1=1
);
并在&#34; rownum&lt;&#34;之后替换值你想要的字母数量+ 1(数字相同)