Olá pessoal,
Preciso fazer mais de um UPDATE no mesmo método... só que está dando erro:
ERRO: duplicar valor da chave viola a restrição de unicidade "conta_pkey"
public boolean simCardUpdateTelecom(String simCard, String linha,
int apnUtilizada, String conta, int operadora, String plano,
int statusSIMCard, Date dtAtivacao, int fonte, int statusLinha,
String imsi, String consumoDados) {
boolean atualiza = false;
Connection conn = null;
PreparedStatement co = null;
PreparedStatement pl = null;
PreparedStatement li = null;
PreparedStatement sc = null;
try {
conn = ConnectionManager.obterConexao();
co = conn.prepareStatement(SQL_SIMCARD_UPDATE_CONTA);
co.setString(1, conta);
co.setTimestamp(2,
new java.sql.Timestamp(new java.util.Date().getTime()));
co.setString(3, simCard);
co.executeUpdate();
pl = conn.prepareStatement(SQL_SIMCARD_UPDATE_PLANO);
pl.setString(1, conta);
pl.setString(2, plano);
pl.setTimestamp(3,
new java.sql.Timestamp(new java.util.Date().getTime()));
pl.setString(4, simCard);
pl.executeUpdate();
li = conn.prepareStatement(SQL_SIMCARD_UPDATE_LINHA);
li.setString(1, linha);
li.setInt(2, statusLinha);
li.setString(3, conta);
li.setDate(4, new java.sql.Date((dtAtivacao).getTime()));
li.setTimestamp(5,
new java.sql.Timestamp(new java.util.Date().getTime()));
li.setString(6, simCard);
li.executeUpdate();
sc = conn.prepareStatement(SQL_SIMCARD_UPDATE_SIMCARD);
sc.setString(1, simCard);
sc.setInt(2, CodigoProcessamento());
sc.setString(3, linha);
sc.setInt(4, statusSIMCard);
sc.setInt(5, apnUtilizada);
sc.setInt(6, operadora);
sc.setString(7, imsi);
sc.setString(8, consumoDados);
sc.setDate(9, new java.sql.Date((dtAtivacao).getTime()));
sc.setString(10, simCard);
sc.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
ConnectionManager.fecharConexao(conn, null, co);
ConnectionManager.fecharConexao(conn, null, pl);
ConnectionManager.fecharConexao(conn, null, li);
ConnectionManager.fecharConexao(conn, null, sc);
}
return atualiza;
}
Estou fazendo junto, porque tenho que fazer uma consulta antes para ver se já possui cadastro nas tabelas Linha e conta...