Supposons que vous ayez quelques tables :
Items
------------
ItemID
NumAvailable
-------------
Checkout
-----------
UserID
ItemID
-----------
Vous pouvez créer un déclencheur
qui additionne le ItemID
et se compare au NumAvailable
pour cet article particulier. Cela ressemblerait à quelque chose comme ça (peut avoir des erreurs, idée générale présentée uniquement :) . La méthode d'erreur glanée à partir de ici
, il existe peut-être un meilleur moyen :
CREATE TRIGGER check_available
BEFORE INSERT ON Checkout
FOR EACH ROW
BEGIN
SELECT IF (COUNT(new.ItemID) > Items.NumAvailable) THEN
DECLARE dummy INT;
SELECT 'No more items to check out!' INTO dummy
FROM new NATURAL JOIN Items WHERE NEW.ItemID = Items.ItemID
END IF;
END