Bonjour,

Voila mon problème est le suivant, je veux créer un trigger qui me permette d'empêcher la mise à jour ou la suppression du compte root de mon site.

Voici donc celle que j'ai fait:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE OR REPLACE FUNCTION trig_root_member() RETURNS TRIGGER AS
$trig_root_member$
	BEGIN
		IF OLD.pseudo = 'root' THEN
                    RETURN NULL;
		ELSE
		    RETURN OLD;
                END IF;
	END;
$trig_root_member$ LANGUAGE plpgsql;
 
DROP TRIGGER IF EXISTS trig_root_member ON membre;
CREATE TRIGGER trig_root_member BEFORE DELETE OR UPDATE ON membre
FOR EACH STATEMENT
EXECUTE PROCEDURE trig_root_member();
Or lorsque j'essaie de modifier ou supprimer mon compte root postgresql me met cette erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
ERREUR: l'enregistrement « old » n'est pas encore affectée
État SQL :55000
Détail :La structure de ligne d'un enregistrement pas encore affecté est indéterminée.
Contexte : fonction PL/pgsql « trig_root_member », ligne 2 à IF
Et je ne comprend pas cette erreur Quelqu'un aurait une idée à me proposer ? Merci d'avance