J'ai créé un déclencheur de mise à jour dans MySQL Community Server 5.5.16 mais quand j'essaie de mettre à jour l'instruction: Update Account set credit = 100 Where Number = 14001455;
Je reçois une erreur "ERROR 1172 (42000): Résultat composé de plus d'un rangée". Je ne comprends pas pourquoi j'obtenir cette erreur et ce qui ne va pas avec mon code:MYSQL Trigger Update ne fonctionne pas comme supposé
delimiter |
CREATE TRIGGER t_creditexceed AFTER UPDATE ON Account
FOR EACH ROW
BEGIN
DECLARE n_overdraft INTEGER;
DECLARE n_balance INTEGER;
DECLARE n_number INTEGER;
DECLARE n_credit INTEGER;
DECLARE credit_exception condition for SQLSTATE '07030';
SELECT balance, credit, number INTO n_balance, n_credit, n_number
FROM Account;
IF ((n_balance < (-n_credit)) AND (n_balance >= 1.1 * (-n_credit)))
THEN
SET n_overdraft = n_balance + n_credit;
INSERT INTO overdraft (account_no, over_draft) VALUES (n_number, n_overdraft);
END IF;
IF (n_balance < 1.1 *(- n_credit))
THEN signal credit_exception;
END IF;
END;
|
delimiter ;