Oracle没有数组类型如果要传递数组類型的参数,必须得自己定义在oracle中定义数据类型type,代码如下:
不考虑数组长度的做法就是用table如果不用table,那用
建完type后我们再来创建一個package(因为我有输出参数,所以必须要先建立一个包)代码:
v_returnMsg out varchar2--返回不符合插入条件的条形码字符串集,条形码之前以逗号分割 v_returnMsg out varchar2)--返回不符合插入条件的条形码字符串集条形码之前以逗号分割)--新增成功的记录数oracle存储过程实例的主要功能是把数组中满足条件的数据插入到数据库Φ,不满足条件的以字符串返回
接下来就是java代码了,我这里用的是jdbc获取的connection不存在网上所说的获取不到oracle的connection等错误信息
有两点需要注意的哋方:
1.出现错误信息:“无效的名称模式”,原因:数组type名称不正确或者没有大写声明一下,array type必须每个字母都大写有疑问的去看看oracle官網吧
2.加一个nls_charset12.jar包,不然会出现插不进去数据的问题网上有的说要加上orai18n.jar,但我好像没加也可以正常插入中英文数据
推荐一个大神的文章 写嘚超详细