Mysql觸發器:

orchidllh發表於2005-06-22

從5.0.2開始支援觸發器。

建立觸發器的語法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

tbl_name:觸發器必須建在資料庫中的表上,該表必須是永久表,不能在臨時表或者檢視上面建觸發器。
trigger_name:觸發器的名字,這個名字在刪除觸發器的時候可以指定。oracle建觸發器的時候不需要指定觸發器的名字。
trigger_time:BEFORT AFTER觸發時機。
trigger_event:INSERT,UPDATE,DELETE觸發事件。
trigger_stmt:觸發器內容。

觸發器中不能通過表名直接訪問本表,需要通過new.col_name和old.col_name訪問。
觸發器中不能呼叫儲存過程。
觸發器中不能使用語法開始或者結束一個程式,例如:START TRANSACTION,COMMIT,ROLLBACK;
在BEFORE觸發器中,AUTO_INCREMENT列的NEW值是0,這個時候還取不到要插入的值呢。


建立觸發器需要SUPER許可權。

刪除觸發器:
DROP TRIGGER tbl_name.trigger_name


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/51862/viewspace-180650/,如需轉載,請註明出處,否則將追究法律責任。

相關文章