Katakanlah Anda memiliki beberapa tabel:
Items
------------
ItemID
NumAvailable
-------------
Checkout
-----------
UserID
ItemID
-----------
Anda dapat membuat pemicu
yang menjumlahkan ItemID
dan bandingkan dengan NumAvailable
untuk item tertentu. Itu akan terlihat seperti ini (mungkin memiliki kesalahan, hanya ide umum yang disajikan :) . Metode untuk kesalahan diperoleh dari di sini
, mungkin ada cara yang lebih baik yang tersedia):
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