rs<=9&&rs>=2,zcxj=1;rs>=10.zcxj=2;
下面贴上代码:
public void executeManySql8(List<List<String>> FindList8) throws SQLException {
Connection con = Oracle_con.getConnection();
con.setAutoCommit(false);
Statement stat = null;
PreparedStatement pst = (PreparedStatement) con
.prepareStatement("insert into zcaj (CASEID,DJH,AH,BDZE,DJRQ,LARQ,KTRQ,JARQ,EXP_END_DT,JTAJ,JAFS,TJJG,BSLRQ,RS) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
for (List<String> minList: FindList8) {
for(int i=0;i<minList.size();i++){
pst.setString(i+1, minList.get(i));
}
// 把一个SQL命令加入命令列表 list.add(PEOPLEID);
pst.addBatch();
}
// 执行批量更新
pst.executeBatch();
// 语句执行完毕,提交本事务
con.commit();
pst.close();
con.close();//一定要记住关闭连接,不然mysql回应为too many connection自我保护而断开。
}
希望大神帮我一下。谢谢谢谢
9 个解决方案
#1
这个很简单啊
1,查询。
2,赋值更新。
应该也可以直接通过一个sql完成的。
1,查询。
2,赋值更新。
应该也可以直接通过一个sql完成的。
#2
update...where语句不能实现么???
#3
for(int i=0;i<minList.size();i++){
if(minList.get(i).rs<=9&&minList.get(i).rs>=2)
minList.get(i).zcxj=1;
else if(rs>=10)
minList.get(i).zcxj=2;
else minList.get(i).zcxj=null;
}
#4
如果数据量大的话,可以考虑存储过程,效率比较高。
#5
update t_data set field1=(case when type='A' then 'X' else filed1 end)
,filed2=(case when type='B' then 'X' else filed2 end)
where xxx
,filed2=(case when type='B' then 'X' else filed2 end)
where xxx
#6
zcxj 是啥?干啥用的
#7
用case when 应该可以吧,你可以百度下case when的具体用法
#8
加一个触发器,判断这个字段值后更新另一个字段
#9
建议不要用触发器,这种还是直接用 update 表名 set 字段 = 值 where 条件
#1
这个很简单啊
1,查询。
2,赋值更新。
应该也可以直接通过一个sql完成的。
1,查询。
2,赋值更新。
应该也可以直接通过一个sql完成的。
#2
update...where语句不能实现么???
#3
for(int i=0;i<minList.size();i++){
if(minList.get(i).rs<=9&&minList.get(i).rs>=2)
minList.get(i).zcxj=1;
else if(rs>=10)
minList.get(i).zcxj=2;
else minList.get(i).zcxj=null;
}
#4
如果数据量大的话,可以考虑存储过程,效率比较高。
#5
update t_data set field1=(case when type='A' then 'X' else filed1 end)
,filed2=(case when type='B' then 'X' else filed2 end)
where xxx
,filed2=(case when type='B' then 'X' else filed2 end)
where xxx
#6
zcxj 是啥?干啥用的
#7
用case when 应该可以吧,你可以百度下case when的具体用法
#8
加一个触发器,判断这个字段值后更新另一个字段
#9
建议不要用触发器,这种还是直接用 update 表名 set 字段 = 值 where 条件