Bonjour, j'ai créer un trigger pour ma table users :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE TRIGGER update_users
  AFTER UPDATE
  ON users
  FOR EACH ROW
  EXECUTE PROCEDURE update_users();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
CREATE OR REPLACE FUNCTION update_users()
  RETURNS trigger AS
$BODY$
begin
delete from code_mdp where id_user=new.id;
 return null;
end
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
Quand je fais un update de users en java les entrées correspondant à l'id que j'utilise ne s’effacent pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
	protected void updatePassword() throws SQLException, NamingException, MyException {
		StrongPasswordEncryptor passwordEncryptor = new StrongPasswordEncryptor();
		String encryptedPassword = passwordEncryptor.encryptPassword(password);
		//
		String query = "UPDATE users SET mdp=? WHERE id=?";
		try (PreparedStatement prepare = getConn().prepareStatement(query)) {
			prepare.setString(1, encryptedPassword);
			prepare.setLong(2, id);
			if (prepare.executeUpdate() != 1) {
				throw new MyException("Erreur lors du changement de mot de passe.<br/>");
			}
		}
    }
Je n'ai pas de message d'erreur dans les logs donc difficile de voir ou est le problème.
Merci.