我是靠谱客的博主 成就项链,最近开发中收集的这篇文章主要介绍你所要的数据库的触发器来了一. 触发器概述二. 触发器语法三. 数据库专栏 ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

一. 触发器概述

二. 触发器语法

2.1.创建触发器

2.2.删除触发器

2.3.查看触发器

三. 数据库专栏 


一. 触发器概述

触发器是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。

触发器经常用于加强数据的完整性约束和业务规则等。

触发器类型有:insert触发器、delete触发器、update触发器。


二. 触发器语法

2.1.创建触发器

创建触发器语法:

create trigger 触发器名 触发时机 触发事件 on 表 for each row
begin
    -- 触发器业务代码
end;
  • 触发事件:insert、update、delete
  • 触发时机:before(触发事件之前)、after(触发事件之后)
  • for each row:对于其中的每个数据行,只要符合触发条件,均激活一次,也就是行级触发器。(oracle触发器中分行级触发器和语句级触发器,可不写for each row,无论影响多少行都只执行一次。但mysql不支持语句触发器,所以必须写for each row)

实例:使用触发器实现dept表与emp表的级联删除(即:当删除dept表中的一条记录时,同时将emp表中的相关记录一起删除)。

drop trigger if exists dept_del;
create trigger dept_del after delete on dept for each row
begin
    delete from emp where deptno=old.deptno;
end;
  • new.deptno:向dept表中插入记录时的主键。
  • old.deptno:删除dept表中记录时的主键。

注意:如果dept表与emp表建立了主外键约束,那么触发时机应为 before。

2.2.删除触发器

删除触发器语法:

drop trigger 触发器名;

删除dept_del触发器:

drop trigger dept_del;

2.3.查看触发器

查看数据库中的所有触发器:

show triggers;

三. 数据库专栏 

https://blog.csdn.net/weixin_53919192/category_11813282.html?spm=1001.2014.3001.5482https://blog.csdn.net/weixin_53919192/category_11813282.html?spm=1001.2014.3001.5482

最后

以上就是成就项链为你收集整理的你所要的数据库的触发器来了一. 触发器概述二. 触发器语法三. 数据库专栏 的全部内容,希望文章能够帮你解决你所要的数据库的触发器来了一. 触发器概述二. 触发器语法三. 数据库专栏 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部