Question

J'ai une table « Personnes » avec plusieurs attributs dont « l'âge ». Chaque fois que j'insérer une nouvelle ligne, dans ce tableau, je voudrais savoir l'âge moyen de toutes les personnes figurant dans le tableau. Si la moyenne est supérieure à 50, je veux modifier l'âge dans le tuple inséré. J'utilise un déclencheur « AVANT INSERT » pour cela. Voici le code de test je actuellement (vous pouvez ignorer les lignes « » delimiter):

delimiter |
CREATE TRIGGER checkAge BEFORE INSERT ON People
FOR EACH ROW BEGIN
    IF AVG(age) > 50 THEN
      SET NEW.age = 20;
    END IF;
END
|
delimiter ;

Qu'est-ce que je fais mal?

Était-ce utile?

La solution

Vous êtes en moyenne pour calculer la valeur à seulement 1 (pour chaque ligne) Vous feriez mieux d'utiliser SELECT AVG (âge) de personnes

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top