天天看點

mysql(八、觸發器)

觸發器在資料庫裡以獨立的對象存儲,它與存儲過程和函數不同的是,存儲過程與函數需要使用者顯示調用才執行,而觸發器是由一個事件來啟動運作。即觸發器是當某個事件發生時自動地隐式運作。并且,觸發器不能接收參數。

1.建立隻有一個執行語句的觸發器

CREATE  TRIGGER  trig_book  AFTER  INSERT 

ON t_book FOR EACH ROW 

UPDATE t_booktype SET booknum=booknum+1 WHERE new.bookTypeId=t_booktype.id /*插入、更新的

目前記錄用new,删除的記錄用old*/

2.建立執行多個語句的觸發器

DELIMITER &&
 CREATE TRIGGER trig_book2 AFTER DELETE
ON t_book FOR EACH ROW 
BEGIN
UPDATE t_booktype SET booknum=booknum-1 WHERE old.bookTypeId=t_booktype.id;
INSERT INTO t_log VALUES(NULL,NOW(),'删除資料');
DELETE FROM t_test WHERE old.bookTypeId=t_test.id;
END;
&&
 DELIMITER ;      

3.檢視觸發器

繼續閱讀