1.定义
触发器是由事件来触发某个操作,这些事件包括,insert、delete、update语句。当数据库执行这些事件时,就会激活触发器执行相应的操作。
2.分类
DML触发器的分类: insert 触发器、delete 触发器、 update 触发器
3.补充说明
触发器有两个特殊的表:插入表(inserted 表)和 删除表(delete 表)//不会存储在数据库中,而且这两张表都是只读的
4.语法
4.1创建触发器
语法:
create trigger 触发器名A
after/before(在插入、删除、更新之前还是之后执行) insert/ delete /update(哪种类型触发器)
on 哪个表B
for each row(在每插入、删除、更新一行就执行一次)
begin
sql语句;(要执行的sql)
end;
//这条语句的意思是,创建一个触发器名字是"触发器A",在“表B”任意执行”insert/delete/update“语句之前,会激活触发器,执行sql语句
例子:
create trigger myTrigger001
before delete
on myTable001
for each row
begin
insert into myTable002(id,name)values(OLD.id,OLD.name); //OLD是一个虚拟表,可以通过它访问被删除的数据行,是delete类型触发器中特有的
end;
/**这条语句的意思是,在要删除myTable001表中每一行时,都会在删除之前将该行数据拷贝一份到myTable002表中 *、
4.2查看触发器
show triggers; //查看所有触发器
show triggers from 数据库名; //查看作用于某个表所在数据库的所有触发器
SELECT * FROM information_schema.triggers WHERE trigger_name= '触发器名'; //查看指定触发器的详细信息
4.3删除触发器
drop trigger 触发器名;
本文介绍了数据库触发器的定义,分类,以及如何创建、查看和删除触发器。触发器由DML事件(INSERT、DELETE、UPDATE)触发,使用inserted和deleted特殊表,并通过CREATE TRIGGER语句定义。同时提供了查看和删除触发器的SQL命令。
3088

被折叠的 条评论
为什么被折叠?



