请教存储过程中,in的传值问题

机智阿拉彬 2018-04-23 04:45:44
我这边在改硬编译sql的代码,遇到了需要设置in的参数,传参试过字符串、数组、集合,都不能使用。
请教一下in传值这边需要怎么设置他的参数
使用集合传值的代码如下
sql.append(" AND a.Request_No in (:requestNos)");
List list = new ArrayList<String>();
list.add("012050304374");
list.add("011120608114");
map.put("requestNos", list);
...全文
896 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2018-04-24
  • 打赏
  • 举报
回复

select object_id, object_type
  from user_objects
 where object_id in (select regexp_substr('91219,91234', '[^,]+', 1, level)
                       from dual
                     connect by rownum <= 2)

-- '91219,91234' 改成你拼接好的字符串,数据项目之间用逗号隔开
-- <=2 ,这里的 2 是数据项的个数
jdsnhan 2018-04-24
  • 打赏
  • 举报
回复
in里面字符串是单引号,要把单引号显性的写进去。
机智阿拉彬 2018-04-24
  • 打赏
  • 举报
回复
原来就是拼接的,想改成不是拼接出来的
卖水果的net 2018-04-23
  • 打赏
  • 举报
回复
-- 直接拼接进来,注意处理一下 SQL 注入。 sql.append(" AND a.Request_No in ('012050304374','011120608114')");

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧