请教一个关于IN的sql语句
一个sql语句中in的条件有2000多个
比如select * from table where item_id in(value1,value2,value3...valueN)
这时会报一个sql错误:ora-0175,列表中表达式不能大于2000;
请问怎样才能突破这种限制,请指教
问题点数:30、回复次数:5Top
1 楼bzszp(SongZip)回复于 2004-08-02 16:52:28 得分 0
为什么不吧这些数据放在一个表里面呢?Top
2 楼dinya2003(OK)回复于 2004-08-02 17:33:33 得分 0
改变用另一种方式来实现. 比如建表.或增加标识字段等.Top
3 楼baojianjun(包子)回复于 2004-08-03 10:19:15 得分 30
包你的VALUE值都導入一張臨時表(TABLE_TEMP)中(使用SQLLRD就可以)
select * from table where item_id in (SELECT ITEM_ID FROM TABLE_TEMP)
Top
4 楼zyljrubyzq(zyljruby)回复于 2004-08-03 11:18:56 得分 0
嘻嘻用视图
select * from table where id in(select id form 视图)Top
5 楼sunnyrain(旭雨)回复于 2004-08-03 11:31:22 得分 0
select * from table where item_id
in(
seletc value1 aa from dual union all
seletc value2 from dual union all
...
seletc valuen from dual
)Top




