在一张表上不能同时建立2个相同类型的触发器,因此在一个表上最多建立6个触发器(trigger_time+trigger_event一共有6种排列组合)
1. Oracle
数据库触发器是一个与表相关联的、存储的 PL/SQL 程序。每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时,Oracle 自动地执行触发器中定义的语句序列。
CREATE [or REPLACE] TRIGGER 触发器名BEFORE | AFTER[DELETE ][[or] INSERT] [[or]UPDATE [OF 列名]]ON 表名[FOR EACH ROW ][WHEN(条件) ]declare……beginPLSQL 块End ;
2. MySQL
CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name FOR EACH ROW trigger_stmttrigger_name:触发器的名称tirgger_time:触发时机,为BEFORE或者AFTERtrigger_event:触发事件,为INSERT、DELETE或者UPDATEtb_name:表示建立触发器的表明,就是在哪张表上建立触发器trigger_stmt:触发器的程序体,可以是一条SQL语句或者是用BEGIN和END包含的多条语句所以可以说MySQL创建以下六种触发器:BEFORE INSERT,BEFORE DELETE,BEFORE UPDATEAFTER INSERT,AFTER DELETE,AFTER UPDATE
