• 触发器


    触发器:是用户定义在关系表上的一类由事件驱动的数据对象,也是一种保证数据完整性的方法.

    使用create trigger语句创建触发器

    格式:create trigger trigger_name trigger_time trigger_event

      on tb_table for each row trigger_body

    mysql-> create trigger mysql_test.cust_insert_trigger after insert

        -> on mysql_test.cust for each row set @str='one customer added!';

    mysql-> insert into mysql_test.cust

        -> values(null,'万华','F','长沙市','芙蓉区');

    mysql-> select @str;

    mysql-> drop trigger if exists mysql_test.cust_insert_trigger

    使用触发器 \同一个类型的触发器只能有一个,每个表最多有2x3个触发器

    三种触发器: insert触发器,delete触发器,update触发器

    insert触发器:在insert触发器代码内,可引用一个名为new(不区分大小写)的虚拟表,来访问被插入的行.

    在before insert触发器中,new中的值可以被更新.

    mysql-> create trigger mysql_test.cust_insert_trigger after insert

        -> on mysql_test.cust for each row set @str=new.cust_id;

    delete触发器: 在delete触发器代码内,可引用一个名为old(不区分大小写)的虚拟表,来访问被删除的行.

    old中的值全部是只读的,不能被更新.

    update触发器: 在update触发器代码内,可引用一个名为old(不区分大小写)的虚拟表,来访问update语句执行前的值,

    也可以引用一个名为new(不区分大小写)的虚拟表来访问更新后的值.

    mysql-> create trigger mysql_test.cust_update_trigger before update

        -> on mysql_test.cust for each row set new.cust_address=old.cust_contact;

  • 相关阅读:
    Halcon图像分割
    Halcon图像变量
    C# 线程同步
    C# 单例模式实现
    C# 限制窗体弹窗显示必须关闭后才能重新实例化窗体
    Java定时清理过期文件
    GrayLog + Logspout + Docker 实现分布式日志聚合
    基于Spring Security OAuth2搭建的Spring Cloud 认证中心
    快速搭建Docker Registry私有仓库
    让你的Spring Boot应用快速运行在Docker上面
  • 原文地址:https://www.cnblogs.com/lsxsx/p/13394210.html
Copyright © 2020-2023  润新知