1. 程式人生 > 其它 >MySql的初學習 -- 第十一章 -- 觸發器

MySql的初學習 -- 第十一章 -- 觸發器

技術標籤:MySql學習觸發器mysql資料庫sql

MySql的初學習 -- 第十一章 -- 觸發器


部落格說明

文章所涉及的資料來自網際網路整理和個人總結,意在於個人學習和經驗彙總,如有什麼地方侵權,請聯絡本人刪除,謝謝!

什麼是觸發器

當我們執行一條sql語句的時候,這條sql語句的執行會自動去觸發執行其他的sql語句。

觸發器的建立要素

  1. 監視地點:table(表)
  2. 監視事件:insert、update、delete(DML)
  3. 觸發時間:before、after
  4. 觸發事件:insert、update、delete(DML)

建立觸發器

/*
格式:
DELIMITER $
CREATE TRIGGER 觸發器名
BEFORE(前)/AFTER (後)(insert、update、delete)
ON tableName -- 觸發器所在表
FOR EACH ROW -- 固定寫法 表示行觸發器
BEGIN
 --- 被觸發的事件
END $
*/
例子:在下訂單的時候,對應的商品的庫存量要相應的減少,賣出商品之後減少庫存量。 編寫觸發器
監視的表:訂單表
監視的事件:insert
觸發時間:after
觸發事件:update

-- 1.修改結束符號
DELIMITER $
-- 2.建立觸發器
CREATE TRIGGER t1
--3.設定觸發的時間 以及監視的事件 監視的表
AFTER INSERT ON 訂單表 --4.行觸發器 FOR EACH ROW --5.觸發後要執行的操作 BEGIN --執行的操作 UPDATE 庫存表 SET num = num - 1 WHERE 庫存id = 4; --6.結束 END $