码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 你所要的数据库的触发器来了


    目录

    一. 触发器概述

    二. 触发器语法

    2.1.创建触发器

    2.2.删除触发器

    2.3.查看触发器

    三. 数据库专栏 


    一. 触发器概述

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

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

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


    二. 触发器语法

    2.1.创建触发器

    创建触发器语法:

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

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

    1. drop trigger if exists dept_del;
    2. create trigger dept_del after delete on dept for each row
    3. begin
    4. delete from emp where deptno=old.deptno;
    5. 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

  • 相关阅读:
    【OOM-笔记】
    【数据结构-堆】堆
    前台线程与后台线程
    内存和缓存?
    基于SpringBoot+Vue的疫苗接种管理系统
    Docker初体验之安装部署和镜像加速(openeuler版)
    LeetCode - 解题笔记 - 212 - Word Search II
    Google Earth Engine(GEE)教程——数字矢量集合aggregate_array函数进行矢量转化为数组和区分不同分析
    错误0x800700E1:无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。
    openCV的CUDA GPU 版本安装 (Ubuntu windows 通用)
  • 原文地址:https://blog.csdn.net/weixin_53919192/article/details/126415817
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号