MYSQL:基础——触发器
生活随笔
收集整理的這篇文章主要介紹了
MYSQL:基础——触发器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MYSQL基礎——觸發器
引入觸發器
什么是觸發器
如果你想要某條語句(或某些語句)在事件發生時自動執行。比如:?每當訂購一個產品時,都從庫存數量中減去訂購的數量;無論何時刪除一行,都在某個存檔表中保留一個副本。就需要用到觸發器。觸發器是MySQL響應以下任意語句而自動執行的一條MySQL語句(或位于BEGIN和END語句之間的一組語句):
? DELETE;
? INSERT;
? UPDATE;
說明:
其他MySQL語句不支持觸發器。只有表才支持觸發器、視圖不支持,臨時表也不支持。
創建觸發器
觸發器用CREATE TRIGGER 語句創建,一條偽代碼如下:
CREATE TRIGGER newType AFTER INSERT ON ms_articletype for each row select 'Product Added'; Error Code: 1415. Not allowed to return a result set from a trigger?創建一個觸發器需要給出4條信息:
刪除觸發器:
觸發器不支持更新或者覆蓋,為了修改一個觸發器,必須先刪除它,然后重新創建它。
DROP TRIGGER newtype;使用觸發器
INSERT觸發器
INSERT觸發器在INSERT語句執行之前或者之后執行,需要知道以下幾點:
實例:
DELETE觸發器
說明:
實例:
UPDATE觸發器
說明:
實例:
?退貨實例
CREATE TRIGGER updateGoods AFTER UPDATE ON ms_sale for each row update ms_order SET or_number=or_number+(OLD.sale_number-NEW.sale_number) WHERE or_id=OLD.sale_or_id;?
轉載于:https://www.cnblogs.com/MrSaver/p/8012137.html
總結
以上是生活随笔為你收集整理的MYSQL:基础——触发器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: s7-1200PLC和第三方扫码枪走以太
- 下一篇: Z-Blog 扩展数据库 字段 二次开发