PreparedStatement中in子句的处理
2013-06-04 22:46
1881 查看
测试环境: Oracle 10g
1.原理
select * from table(split('a,b,c'))结果:
a b c2.结论
对于类似:
select * from xxx_table where xxx_column in ('xxa', 'xxb', 'xxc')可动态传入in子句参数
select * from xxx_table where xxx_column in (select * from table(split(?)))
PreparedStatement stmt = conn.prepareStatement(sql); stmt.setObject(1, "xxa,xxb,xxc");
附split函数:
create or replace type split_tbl as table of varchar(32767); / create or replace function split ( p_list varchar2, p_del varchar2 := ',' ) return split_tbl pipelined is l_idx pls_integer; l_list varchar2(32767) := p_list; l_value varchar2(32767); begin loop l_idx := instr(l_list,p_del); if l_idx > 0 then pipe row(substr(l_list,1,l_idx-1)); l_list := substr(l_list,l_idx+length(p_del)); else pipe row(l_list); exit; end if; end loop; return; end split; /
原文:http://stackoverflow.com/questions/178479/preparedstatement-in-clause-alternatives
相关文章推荐
- 关于Oracle存储过程中的IN子句传参的问题(不能直接传字符串,需要处理)
- IN 子句元素个数超过1000处理
- 处理教材:Reusing Classes of "Thinking in Java"
- PHP中PDO数据访问对象处理LIMIT子句的一处BUG
- [转载]testbench中inout类型端口的处理方式
- display: inline-block在ie8中无效的处理办法
- The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml... 处理方法
- PowerDesigner提示This data item is already used in a primary identifier.的处理
- java.lang.UnsupportedClassVersionError: Bad version number in .class file异常的处理方法
- 翻译-In-Stream Big Data Processing 流式大数据处理
- Android开发错误:Error:” ” is not translated in “en” (English) [MissingTranslation]如何处理?
- Ubuntu虚拟机显示built-in display 导致无法调整分辨率问题处理
- Error-in-javascript 错误处理
- vue中watch的用法总结以及报错处理Error in callback for watcher "checkList"
- SPRING IN ACTION 第4版笔记-第五章BUILDING SPRING WEB APPLICATIONS-006-处理表单数据(注册、显示用户资料)
- SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-004- 处理上传文件
- jQuery数组($.each,$.grep,$.map,$.merge,$.inArray,$.unique,$.makeArray)处理函数详解
- 如何处理 android 方法总数超过 65536 . the number of method references in a .dex file exceed 64k
- 关于Maven项目build时出现No compiler is provided in this environment的处理
- 如何查询其他数据库内的表(IN子句实例)?