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();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 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;
Je n'ai pas de message d'erreur dans les logs donc difficile de voir ou est le problème.
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/>"); } } }
Merci.
Partager