MySQL 是一款常用的開源數據庫軟件,支持多種語言和操作系統。在 MySQL 中,觸發器是一種特殊的存儲過程,可以在對表進行 INSERT、UPDATE 或 DELETE 操作時自動執行一些操作。
觸發器可以使用多個條件進行判斷,以決定是否執行相應的操作。下面我們通過一些示例,來演示 MySQL 觸發器的多條件判斷。
DELIMITER // CREATE TRIGGER trig1 AFTER INSERT ON table1 FOR EACH ROW BEGIN DECLARE var1 INT; DECLARE var2 INT; SET var1 = NEW.column1; SET var2 = NEW.column2; IF var1 >10 AND var2< 100 THEN -- 執行一些操作 -- END IF; END // DELIMITER ;
以上示例中的觸發器在對表 table1 進行插入操作時觸發。當插入的新數據滿足同時滿足 column1 大于 10 并且 column2 小于 100 時,觸發器會執行定義的操作。
DELIMITER // CREATE TRIGGER trig2 AFTER UPDATE ON table2 FOR EACH ROW BEGIN DECLARE var1 VARCHAR(50); DECLARE var2 VARCHAR(50); SET var1 = NEW.column1; SET var2 = OLD.column1; IF var1 != var2 THEN -- 執行一些操作 -- END IF; END // DELIMITER ;
以上示例中的觸發器在對表 table2 進行更新操作時觸發。當更新的新數據與舊數據中的 column1 不相同時,觸發器會執行定義的操作。
DELIMITER // CREATE TRIGGER trig3 AFTER DELETE ON table3 FOR EACH ROW BEGIN DECLARE var1 INT; DECLARE var2 INT; SET var1 = OLD.column1; SET var2 = OLD.column2; IF var1< 10 OR var2 >100 THEN -- 執行一些操作 -- END IF; END // DELIMITER ;
以上示例中的觸發器在對表 table3 進行刪除操作時觸發。當刪除的數據滿足 column1 小于 10 或 column2 大于 100 時,觸發器會執行定義的操作。
通過以上示例,我們可以看出 MySQL 觸發器的多條件判斷語法及其靈活多變,可以滿足不同條件下的操作需求。