1.基础知识
触发器(trigger)是给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。
触发器也可用于强制引用完整性,以便在多个表中添加、更新或删除行时,保留在这些表之间所定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。
触发器与存储过程的唯一区别是触发器不能执行EXECUTE语句调用,而是在用户执行Transact-SQL语句时自动触发执行。
2.基本语法
1.创建触发器语句
create trigger trigger_name after|before option(update,insert....)
on table_name for each row
begin
#TODO
end;
注:trigger_name就是触发器的名字; after|before 指:你操作表的时候,’之前’或’之后’ 触发;table_name指: 操作哪张表;option 指:操作表的动作–新增、删除、修改、插入;
2.删除触发器
drop trigger trigger_name;
drop trigger if exists trigger_name;//如果存在这个触发器,那么就删除这个触发器
3.基本操作对象
new | old :new对象就是触发器启动后新的数据,old值之前表里的那行记录的数据;
注:对于INSERT语句, 只有NEW是合法的;对于DELETE语句,只有OLD才合法;对于UPDATE语句,NEW、OLD可以同时使用。
3.演示
目的:当表更新的时候,在另一个表插入一模一样的数据(新增后的数据)
在表的设计里可以看到触发器的信息
结果
本人刚刚上手,有写的不好的地方,望大家指出来,一起学习学习嘿嘿!!!!
触发器_360百科