批量提交时,可将数据封装成数组,传入存储过程,执行批量提交。例如:批量添加一批用户到数据库的user 表。
Tb_user
User_id(number)
|
User_name(varchar2(50))
|
User_con(varchar2(50))
|
10001
|
Jim
|
America
|
10002
|
tom
|
English
|
10003
|
张三
|
中国
|
数据库中定义一type。来封装数据。如下:
User_infor:
Create or replace type user_infor as object
(user_id number,
User_name varchar2(50),
User_con varchar2(50)
)
User_array:
Create or replace type user_array as is varchar2(100) of user_infor
创建存储过程:
Create or replace procedure INSER_USER_INFOR(user_in user_array,rs_return out number) as
I int;
Begin
Rs_return:=200;
While i<=user_in.count loop
Insert into tb_user values(user_in(i),user_id,user_in(i).user_name,user_in(i).user_con);
Commit;
I:=i+1;
End loop;
End;
Java 代码如下:
Conn=connection;
CallableStatement proc=conn.prepareCall(“{call INSER_USER_INFOR(?,?) }”);