MySQL數據庫觸發器是一種數據庫對象,它在數據庫表上注冊一個事件,并在達到該事件時執行一些指定的任務。觸發器可以用于自動化業務流程,幫助降低重復性工作和提高數據一致性。
下面是一個MySQL數據庫觸發器實例:
DELIMITER $$ CREATE TRIGGER `employee_salary_update` AFTER UPDATE ON `employee` FOR EACH ROW BEGIN IF NEW.salary >OLD.salary THEN INSERT INTO `salary_changes` (employee_id, old_salary, new_salary, changed_date) VALUES (OLD.id, OLD.salary, NEW.salary, NOW()); END IF; END$$ DELIMITER ;
以上代碼展示了一個在`employee`表上注冊觸發器的例子。它會在每次有更新操作時被觸發,并檢查新的工資數值是否高于舊的數值。如果是,它會將相關數據保存到`salary_changes`表中。
這個觸發器有幾個關鍵要素:
AFTER UPDATE ON `employee`
指示它將在employee表上注冊,并在更新時觸發。FOR EACH ROW
指示它會針對每一行更新操作都被觸發。NEW.salary >OLD.salary
是一個邏輯表達式,如果新工資數值高于舊值,就執行下面的邏輯。INSERT INTO `salary_changes`
將所需的數據插入到另一個表中。NOW()
函數用于獲取當前時間戳。
上一篇mysql數據庫認證考試
下一篇css變灰教學視頻