前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网易MySQL微专业学习笔记(七)-触发器与存储过程

网易MySQL微专业学习笔记(七)-触发器与存储过程

作者头像
WindCoder
发布2018-09-19 18:22:55
3690
发布2018-09-19 18:22:55
举报
文章被收录于专栏:WindCoderWindCoder

前言

这个系列属于个人学习网易云课堂MySQL数据库工程师微专业的相关课程过程中的笔记,本篇为其“MySQL数据库对象与应用”中的MySQL数据类型相关笔记。

所有笔记可能不定期更新,发布时不一定为最终版。

正文

触发器:

是什么?

触发器是加载表上的一个特殊程序,当表上出现特定的事件(insert/update/delete)时触发该程序执行。

做什么?

数据订正;迁移表;实现特定的业务逻辑。

触发器对性能有损耗,应慎重使用。

同一类事件在一个表中只能创建一次。

对于事务表,触发器执行失败则整个语句回滚。

Row格式主从复制,触发器不会在从库上执行。

使用触发器应防止递归执行,mysql中会直接创建失败,如:

create trigger trg_upd_score

before update on 'stu'

from each row begin

update stu set score = 20

where name = old.name

end;

存储过程

定义:

存储过程是存储在数据库端的一组sql语句集,用户可以通过存储过程名和传参多次调用的程序模块。

特点:

使用灵活,可以使用流控制语句、自定义变量等完成负责的业务逻辑。

提高数据哦就性,屏蔽应用程序直接对表的操作,易于进行审计。

减少网络传输。

提高代码维护的复杂度,实际使用中要评估场景是否适合。

自定义函数

与存储过程类似,但必须有返回值(return)

自定义函数与sum(),max()等mysql原生函数使用方法类似:

select func(val)

select * from tbl where col = func(val);

由于自定义函数可能在便利数据中使用,要注意性能损耗。

select uid from user

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 正文
    • 触发器:
      • 存储过程
        • 自定义函数
        相关产品与服务
        云数据库 SQL Server
        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
        http://www.vxiaotou.com