2

「年齢」を含むいくつかの属性を持つ「人」テーブルがあります。このテーブルに新しいタプルを挿入するたびに、テーブルにリストされているすべての人の平均年齢を調べたいと思います。平均が 50 を超える場合は、挿入されるタプルの年齢を変更したいと考えています。これには「BEFORE INSERT」トリガーを使用しています。これが私が現在持っているテストコードです(「区切り文字」行は無視できます):

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 ;

私は何を間違っていますか?

4

1 に答える 1

0

(各行の)1つの値のみの平均を計算しています SELECT AVG(age) FROM People を使用することをお勧めします

于 2009-11-16T00:43:48.453 に答える