PreparedStatement中运行多个sql语句??
for(int i = 0; i<tables.size();i=i+2){
sql_insert = "insert into "+tables.get(i)+" (select * from "+tables.get(i+1)+" where cid = ? )";
sql_delete = "delete from "+tables.get(i+1)+" where cid = ?";
pstmt = conn.prepareStatement(sql_insert);
pstmt.setString(1, cid);
pstmt.execute();
pstmt.clearParameters();
pstmt = conn.prepareStatement(sql_delete);
pstmt.setString(1, cid);
pstmt.execute();
}
上面的这些语句我想一次运行完,看了一下有个addBatch()
不知道可不可以改成
for(int i = 0; i<tables.size();i=i+2){
sql_insert = "insert into "+tables.get(i)+" (select * from "+tables.get(i+1)+" where cid = ? )";
sql_delete = "delete from "+tables.get(i+1)+" where cid = ?";
pstmt = conn.prepareStatement(sql_insert);
pstmt.setString(1, cid);
pstmt.addBatch();
pstmt.clearParameters();
pstmt = conn.prepareStatement(sql_delete);
pstmt.setString(1, cid);
pstmt.addBatch();
}
pstmt.execute();
最后一次运行commit();