zoukankan      html  css  js  c++  java
  • 10.触发器

    触发器: trigger
    create trigger 触发器名 after/before insert/update/delete
    on 表名 for each row
    sql (非查询语句);

    例:监听学生表,如果某个学生被更新了就将系部表中4号系的人数加1

    create trigger tri_a after update on t_student
    for each row
    update t_dept set dnum=dnum+1 where did = 4;


    同一个事件只能有一个触发器。
    insert update delete 每个语句两个事件 before after
    即一张表最多6个触发器。

    例: 监听学生表,如果有学生被删除 就去系部表中将这个学生所在的系
    的人数减一。

    create trigger tri_b after delete on t_student
    for each row
    update t_dept set dnum = dnum-1 where did = old.did;

    create trigger tri_c after insert on t_student
    for each row
    update t_dept set dnum = dnum + 1 where did = new.did;


    create trigger tri_e after delete on t_student
    for each row
    insert into t_abc(id,name,ename,age) values(old.sid,old.sname,old.sename,old.sage);


    delete触发器中会隐藏一张old虚拟的表,这个表中的数据就是刚刚删除的数据.
    insert触发器中会隐藏一张new虚拟的表,这个表中的数据就是刚刚添加的数据
    update触发器中会隐藏一张new虚拟的表和一张old虚拟的表,

    触发器类似与Java的监听机制

    after/before 触发以后/触发以前

    Create trigger 触发器名 after/before insert/update/delete on 被检测的表
    For each row
    Sql 语句(不包含查询语句);

  • 相关阅读:
    动态规划0-1背包问题
    在网页上加入运行代码的功能
    关于CSS基础框架的学习
    Hadoop综合大作业
    hive基本操作与应用
    用mapreduce 处理气象数据集
    熟悉常用的HBase操作,编写MapReduce作业
    爬虫大作业
    熟悉常用的HDFS操作
    数据结构化与保存
  • 原文地址:https://www.cnblogs.com/makalochen/p/10656602.html
Copyright © 2011-2022 走看看