从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