Por que o comando não está executando?

Tenho uma tela que cuida do cadastro de docente, uma das informações a ser cadastrada é se esse docente em questão é coordenador, e se sim, em qual coordenadoria. Quando clica no botão “Salvar” o sistema chama um método que cuida de fazer o update na tabela coordenadoria passando o código do docente, o problema é que esse método não está sendo executado, ou está e mesmo assim não faz o update. Executei o SQL do update diretamente no banco e funciona, então já descarto a possibilidade de erro de sintaxe do SQL, o eclipse também não está acusando erro, nem no código e nem depois da execução. Não faço ideia do que pode ser.
Uso o eclipse e o postgreSQL.
Segue o código do botão “Salvar” e o código do método de update.

botão:

btnSalvar.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent arg0) {
				
		try {
							
			if(rdbtnDisponivel.isSelected()) {
				docente.setStatus("Disponível");
			}else if(rdbtnIndisponivel.isSelected()) {
				docente.setStatus("Indisponível");
			}else if(rdbtnSemidisponivel.isSelected()) {
				docente.setStatus("SemiDisponível");
				if((String)(cbCargo.getSelectedItem())=="Coordenador(a)") {
							
					String selecao2 = (String) (cbCoordenador.getSelectedItem());
							
					ResultSet res2 = inserir.executarBusca("select CoordCod from coordenadoria where CoordSigla = '"+selecao2+"'");
					ResultSet res3 = inserir.executarBusca("select DocCod from docente where DocNome = '"+tfNome.getText()+"'");
							
					while(res2.next()){
						coord.setCoordCod(res2.getInt("CoordCod"));
					}
							
					while(res3.next()){
						docente.setDocCod(res3.getInt("DocCod"));
					}
			
					inserir.coordenadorUpdate(docente,coord);//Faz o Update na tabela de coordenadoria, passando o código de docente.
					cbCoordenador.removeItem(selecao2);//Remove do comboBox a coordenadoria que teve seu coordenador cadastrado.
							
				}	
			}
					
			inserir.inserir(docente);
					
		} catch (Exception e) {
			e.printStackTrace();
		}
		JOptionPane.showMessageDialog(null, "Cadastro realizado com sucesso.");
				
	}
});

Update:

public void coordenadorUpdate(CLASSDocente docente, CLASSCoord coord) {
		
		
	try {
		Connection con = ConexaoUtil.getInstance().getConnection();
		String sql = "update coordenadoria set DocCod = ? from docente where docente.DocCod = ? and coordenadoria.CoordCod = ?;";
		PreparedStatement stm = con.prepareStatement(sql);
			
		stm.setInt(1, docente.getDocCod());
		stm.setInt(2, docente.getDocCod());
		stm.setInt(3, coord.getCoordCod());
			
		stm.executeUpdate();
		stm.close();
		con.close();
	} catch (Exception e) {
		e.printStackTrace();
	}
}

Cara não manjo tanto de SQL, mais pelo pouco que sei, já que quer só passar o código do docente pra atualizar na tabela coordenadoria, porque d FROM lá pra fazer a validação do docente? no caso não é certeza que venha o numero correto?

Mas caso realmente necessite disso com JOIN daria certo, segue um exemplo:

UPDATE t1
INNER JOIN t2 ON t2.t1_id = t1.id
INNER JOIN t3 ON t2.t3_id = t3.id
SET t1.a = 'something',
    t2.b = 42,
    t3.c = t2.c
WHERE t1.a = 'blah';

Acho que dá pra te dar uma luz!

@mariodevjunior Dei uma pesquisada pra saber como funciona esse INNER JOIN e pelo o que parece o postgres não suporta essa sintaxe, só funciona no MySQL. Mas de qualquer jeito o problema não tá no SQL porque eu executo ele diretamente no banco e ele faz o update tranquilo.

@mariodevjunior Mesmo sem o teste desnecessário que você observou, que realmente era desnecessário ser feito, não funcionou, o método continua não sendo executado :frowning_face:

Boa noite.

No final dessa linha existe um ; antes de fechar aspas e um depois de fechar aspas. É assim mesmo? Não entendo muito desses comandos SQL porém comparei com o de cima e lá não tem.

Podem ser comando diferentes com sintaxes diferente, mas achei válido perguntar.

Boa sorte!

@Heihel O “;” de dentro das aspas é para o comando SQL, que na verdade nem é obrigatório, mas por causa da programação em java eu peguei mania de colocar kkkkkk o comado SQL vai executa com ou sem o “;”. Já o “;” fora das aspas é para o comando do java, esse já é obrigatorio, no java qualquer fim de comando tem que ter o “;”.

putz, no console não aparece nada de erro ou algo do tipo? porque realmente olhando aqui a documentação do PostgreSQl o sintaxe está normal. ta usando qual IDE Netbeans ou Eclipse ? já tentou depura pra ver processo que ele está fazendo até chegar ai, esse se ele realmente está entrando ai.

@mariodevjunior Ainda não tentei depura, vou tentar. Eu uso o eclipse, no console não aparece nada de erro, a mensagem “Cadastro realizado com sucesso.” aparece normal.