使用的是dbcp连接池,jdbc直接执行sql语句
 
有这样一条sql语句
 UPDATE ETKTLOG SET WORK_ASGN_ID='" + newWorkID+ "' WHERE WORK_ASGN_ID='" + workID + "'";
 在 ETKTLOG 表中 WORK_ASGN_ID字段是唯一约束的,在执行这条sql语句之前已经判断newWorkID不存在
 update语句可以执行成功,并成功释放连接
 
 但每执行一次这个sql语句,v$session都会多出一个 satus 为 inactive的连接
 反复执行这条sql语句,就会造成连接池崩溃,不能再取出可用连接
 
 将这条update语句 的更新set字段改为其他字段则一切都正常
 这条语句的特殊之处是  set的字段和 where的字段一样,set的字段具有唯一约束
 
 请达人指点怎么处理