简单的触发器

//例子 
create trigger t4
after
delete
on ord
for each row
begin
updata goods set num=num+old.much where gid=old.gid;  //new表示新行,old表示旧行
end$  //由于前面用了分号(;),所以不能再用分号来结尾,在这里改用$做结束符

创建触发器的语法

  create trigger 触发器名称

  after/before(触发器时间)

  insert/update/delete(监视事件)

  on 表名(监视地址)

  for each row  //声明行级触发器;每一行受影响,触发器都执行,叫做行级触发;在oracle数据库中,不写可以触发语句级触发,但是MySQL不支持语句级触发,如果不写这一句,无论监视事件触发了多少次,都只触发一次触发器;也就是说,只执行一次;

  begin

  sql1;

  ...

  sqlN;

  end

DELIMITER 语法:用来修改MySQL数据库的结束符号

delimiter $  //修改结束符号为$,默认结束符号是分号(;)

触发器的查询

SHOW TRIGGERS \G ;   //查询所有触发器

SELECT * FROM 数据库名称.triggers WHERE TRIGGER_NAME='t1' \G ;  //查询单个触发器

删除触发器名:DROP  TRIGGER  触发器名 | 数据库名.触发器名;

 

 

 

 

posted @ 2020-04-08 09:50  初雨诗清风  阅读(292)  评论(0编辑  收藏  举报