MySql教程

MySQL和Oracle触发器

本文主要是介绍MySQL和Oracle触发器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

当我们需要用到触发器的时候,还是很方便,你会指定当我在操作某一事件时触发效果完成我所希望完成的事情;这就是触发器

触发器格式

MySQL触发器格式

CREATE TRIGGER trigger_name  
    BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name  
    [FOR EACH ROW]  
BEGIN  
DECLARE arg_name1[,arg_name2,...] type [DEFAULT value]  
    sql语句  
END

Oracle触发器格式

CREATE [OR REPLACE] TRIGGER trigger_name   
    BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name   
    [FOR EACH ROW]  
DECLARE arg_name type [CONSTANT] [NOT NULL] [:=value]   
BEGIN  
    pl/sql语句  
END 

示例

下面一个示例是我在删除某个数据库表数据时候,自动触发触发器备份数据表,并自动填充记录更新时间(UPDATE_TIME):

MySQL版本

create trigger 触发器名字
  before delete on 源表名
  for each row
begin
  insert into 新表名(ID,表的字段)values(:old.id,:old.表的字段);
end;

Oracle版本

create or replace trigger 触发器名字
  before delete on 源表名
  for each row
begin
  insert into 新表名(ID,表的字段)values(:old.id,:old.表的字段);
end;
这篇关于MySQL和Oracle触发器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!