社区
基础和管理
帖子详情
oracle 遍历数组
insdf
2011-12-26 10:44:08
查询的时候,要遍历一张表,其中的id如果在数组ss中,就返回回来
现在ss的大小大于1000个,用 id in ss 的方法会报错,不知道有没有其他方法了
...全文
487
9
打赏
收藏
oracle 遍历数组
查询的时候,要遍历一张表,其中的id如果在数组ss中,就返回回来 现在ss的大小大于1000个,用 id in ss 的方法会报错,不知道有没有其他方法了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iqlife
2011-12-28
打赏
举报
回复
select * from table_name where id in (id1,id2,id3...);
in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000.
如果不可必要必须使用in,可以采用临时表,也可以对参数进行处理成多个in,
其中每个in列表中参数都小于1000,如 id in(id1,id2...) or id in(id501,id502...).
iqlife
2011-12-28
打赏
举报
回复
select * from table_name where id in (id1,id2,id3...);
in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000.
如果不可必要必须使用in,可以采用临时表,也可以对参数进行处理成多个in,
其中每个in列表中参数都小于1000,如 id in(id1,id2...) or id in(id501,id502...).
insdf
2011-12-26
打赏
举报
回复
[Quote=引用 5 楼 inthirties 的回复:]
1. 拆分in 为 in or in的方式
2. 数组变成临时表。
[/Quote]
怎么写呢
insdf
2011-12-26
打赏
举报
回复
报错为:ORA-01795: maximum number of expressions in a list is 1000
是说list中的个数大于1000,oracle 10g的限制用in的话不能超过1000个,现在list中是超过1000个的,该怎么写
inthirties
2011-12-26
打赏
举报
回复
1. 拆分in 为 in or in的方式
2. 数组变成临时表。
insdf
2011-12-26
打赏
举报
回复
用ibatis,
主要代码如下:
select t.name
from
user t
where
t.id in
<iterate conjunction="," open="(" close=")">
#list[]#
</iterate>
list是Integer型数组
iqlife
2011-12-26
打赏
举报
回复
错误代码,及实现方式贴出来看看,
感觉你代码写得不合理造成的,用LOOP遍历数组么,看看你现在的代码,有没有优化和更好的实现方式?
insdf
2011-12-26
打赏
举报
回复
in的话oracle会限制不能超过一千个
我心飞翔
2011-12-26
打赏
举报
回复
什么错误呢?
PL/SQL又没有对数据元素做上限限制啊。
ORACLE
数组使用方法
ORACLE
数组使用方法,文档,详细介绍
Oracle
中数组如何使用
oracle
数组
oracle
数组操作,包含固定数组、可变数组、可变数组取表
Oracle
联合数组定义与使用
先展示下效果 https://pan.quark.cn/s/a4b39357ea24
oracle
Shell
oracle
数据库命令执行 测试环境-DBA权限: Function ======= Shell.java ========== 参考链接: rebeyond-
oracle
Shell.jar
oracle
数组实现
基于
oracle
的数组实现,使用自定义类型的方式实现
oracle
数组存储过程批量插入.pdf
。。。
基础和管理
17,380
社区成员
95,113
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章