Estou tentando fazer esse update só que está dando erro… e é para fazer o update, então não poderia dar erro de duplicado
UPDATE SIMCardDispositivo SET Dispositivo_Numero = 'A12345678', SIMCard_Numero = 89550504130008532222
FROM Dispositivo
WHERE SIMCardDispositivo.Dispositivo_Numero = Dispositivo.Numero
AND SIMCardDispositivo.Dispositivo_Numero = 'A12345678'
Erro
[code]ERRO: duplicar valor da chave viola a restrição de unicidade "simcarddispositivo_pkey"
DETAIL: Chave (simcard_numero)=(89550504130008532222) já existe.
********** Error **********
ERRO: duplicar valor da chave viola a restrição de unicidade "simcarddispositivo_pkey"
SQL state: 23505
Detail: Chave (simcard_numero)=(89550504130008532222) já existe.[/code]
Eses são os Updates que utilizo… onde ta dando o erro é no A
[code] // UPDATE A (SIMCARDDISP_DISPOSITIVO)
private static final String SQL_SIMCARD_UPDATE_SIMCARDDISP_A = “UPDATE SIMCardDispositivo SET Dispositivo_Numero = (?::varchar), SIMCard_Numero = (?::varchar)::numeric FROM Dispositivo WHERE SIMCardDispositivo.Dispositivo_Numero = Dispositivo.Numero AND SIMCardDispositivo.Dispositivo_Numero = (?::varchar)”;
private static final String SQL_SIMCARD_UPDATE_DISP_A = “UPDATE Dispositivo SET Numero = (?::varchar), CodigoTecnologia = (?::integer), CodigoAPNConfigurada = (?::integer), ip = (?::varchar), porta = (?::integer), CodigoFonteDados = (?::integer), imei = (?::varchar)::numeric FROM SIMCardDispositivo WHERE SIMCardDispositivo.Dispositivo_Numero = Dispositivo.Numero AND Dispositivo.Numero = (?::varchar)”;
// UPDATE B (SIMCARDDISP_SIMCARD)
private static final String SQL_SIMCARD_UPDATE_SIMCARDDISP_B = "UPDATE SIMCardDispositivo SET Dispositivo_Numero = (?::varchar), SIMCard_Numero = (?::varchar)::numeric FROM Dispositivo WHERE SIMCardDispositivo.Dispositivo_Numero = Dispositivo.Numero AND SIMCardDispositivo.SIMCard_Numero = (?::varchar)::numeric";
private static final String SQL_SIMCARD_UPDATE_DISP_B = "UPDATE Dispositivo SET Numero = (?::varchar), CodigoTecnologia = (?::integer), CodigoAPNConfigurada = (?::integer), ip = (?::varchar), porta = (?::integer), CodigoFonteDados = (?::integer), imei = (?::varchar)::numeric FROM SIMCardDispositivo WHERE SIMCardDispositivo.Dispositivo_Numero = Dispositivo.Numero AND SIMCardDispositivo.SIMCard_Numero = (?::varchar)::numeric";
// UPDATE C (SIMCARDDISP_SIMCARD E DISPOSITIVO)
private static final String SQL_SIMCARD_UPDATE_SIMCARDDISP_C = "UPDATE SIMCardDispositivo SET Dispositivo_Numero = (?::varchar), SIMCard_Numero = (?::varchar)::numeric FROM Dispositivo WHERE SIMCardDispositivo.Dispositivo_Numero = Dispositivo.Numero AND SIMCardDispositivo.Dispositivo_Numero = (?::varchar) AND SIMCardDispositivo.SIMCard_Numero = (?::varchar)::numeric";
private static final String SQL_SIMCARD_UPDATE_DISP_C = "UPDATE Dispositivo SET Numero = (?::varchar), CodigoTecnologia = (?::integer), CodigoAPNConfigurada = (?::integer), ip = (?::varchar), porta = (?::integer), CodigoFonteDados = (?::integer), imei = (?::varchar)::numeric FROM SIMCardDispositivo WHERE SIMCardDispositivo.Dispositivo_Numero = Dispositivo.Numero AND SIMCardDispositivo.Dispositivo_Numero = (?::varchar) AND SIMCardDispositivo.SIMCard_Numero = (?::varchar)::numeric";[/code]