private void colIteration(List<StepSetOperation> categorySet,
			Map<String, String> fields, String tableName, Connection memConn)
			throws Exception {
		try {
			long startTime = 0;
			memConn.setAutoCommit(false);
			for (int i = 0; i < categorySet.size(); i++) {
				startTime = System.currentTimeMillis();
				StepSetOperation bean = categorySet.get(i);
				// 字段
				String columnid = bean.getColumnId();
				// 名称
				String columnName = bean.getColumnName();
				// 公式
				String formula = bean.getFormula();
				// 更新条件
				String ucStr = bean.getUpdateCriteria();
				StringBuffer sb = new StringBuffer();
				sb.append("UPDATE ");
				sb.append(tableName);
				sb.append(" SET ");
				sb.append(columnid);
				sb.append("=");
				if (null != formula && !"".equals(formula)) {
					for (Entry<String, String> fieldMap : fields.entrySet()) {
						String key = fieldMap.getKey();
						String value = fieldMap.getValue();
						formula = formula.replaceAll(value, key);
					}
				}
				sb.append(formula);
				sb.append(" ");
				if (null != ucStr && !"".equals(ucStr)) {
					for (Entry<String, String> fieldMap : fields.entrySet()) {
						String key = fieldMap.getKey();
						String value = fieldMap.getValue();
						ucStr = ucStr.replaceAll(value, key);
					}
					sb.append(" WHERE ");
					sb.append(" ");
					sb.append(ucStr);
				}
				String sql = sb.toString();
				PreparedStatement pst = memConn.prepareStatement(sql);
				int count = pst.executeUpdate();
				pst.close();
				memConn.commit();
				System.out.println("运算【" + columnName + "】列，影响行数：" + count
						+ " 消耗时间："
						+ (System.currentTimeMillis() - startTime + " 毫秒"));
			}
		} catch (Exception e) {
			logger.error("更新失败,回滚");
			memConn.rollback();
			throw e;
		}
	}