社区
基础和管理
帖子详情
oracle 遍历数组
insdf
2011-12-26 10:44:08
查询的时候,要遍历一张表,其中的id如果在数组ss中,就返回回来
现在ss的大小大于1000个,用 id in ss 的方法会报错,不知道有没有其他方法了
...全文
464
9
打赏
收藏
oracle 遍历数组
查询的时候,要遍历一张表,其中的id如果在数组ss中,就返回回来 现在ss的大小大于1000个,用 id in ss 的方法会报错,不知道有没有其他方法了
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
数组实现
基于
oracle
的数组实现,使用自定义类型的方式实现
oracle
数组存储过程批量插入.pdf
。。。
oracle
数组存储过程批量插入
今天做了一个关于短消息批量删除的功能, 刚开始准备在后台用循环来逐条删除,后来因为其它功能模块也会用到大批量删除数据。 所以就决定用 数组作为存储过程的参数进行传值,在存储过程中批量删除。说实话这个选择有点得不偿失,本来以为上午就能搞定,谁知道从摸索到实现,居然发了大半天时间。
基础和管理
17,382
社区成员
95,118
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章