2017-09-17 3 views
0

私は2つのテーブルを作成しました: 1)マネージャー 2)販売 私はこれを行う必要があります。 マネージャーが20回の売り上げを成功させた場合、そのプレミアムは売り上げの20%です。 私はそれを書きましたが、どこにエラーがありますか?トリガー - Mysqlマネージャー

DELIMITER $$ 
CREATE TRIGGER `calculate_prize_upd` AFTER UPDATE ON `students` FOR EACH ROW BEGIN 

     UPDATE manager set 
     goods = (SELECT COUNT(*) FROM selling WHERE manager_id = NEW.manager_id) 
     WHERE id = NEW.manager_id; 
     IF (goods > 20) THEN 
     prize = 
     (SELECT price/0.2 FROM selling WHERE manager_id = new.manager_id); 



END 
$$ 
DELIMITER ; 
+0

あなたはどのようなエラーを取得していますか? – Mureinik

答えて

0

私がこのように行くべきだと思う -

DELIMITER $$ 
CREATE TRIGGER `calculate_prize_upd` AFTER UPDATE ON `students` FOR EACH ROW 
BEGIN 
    DECLARE @goods varchar(100) 
    SET @goods = SELECT COUNT(*) FROM selling WHERE manager_id = NEW.manager_id 
    IF (goods > 20) THEN 
    UPDATE selling 
    SET prize = prize * 1.2 
    WHERE manager_id = new.manager_id 
END 
$$ 
DELIMITER ;