触发器实现业务日志等功能

  • mysql
  • 触发器

概述

本文主要介绍如何使用触发器实现业务功能。

一个简单的触发器

此触发器实现单条记录在插入前的数据更改和链接操作

    BEGIN

                DECLARE newRoomId BIGINT(20);
                set newRoomId =  (select if(isnull(aa),1,aa+1) from (select max(id) as aa from trtc_room_info) tmp);
                set new.room_id= newRoomId ;
                set new.mix_stream_id = (select concat(new.sub_app_id, "_", newRoomId, "_playUrl"));
    END

触发器规则

如果使用触发器操作的是当前行或表的数据使用new. 操作

    CREATE TRIGGER `mytrigger2` BEFORE INSERT ON `trtc_room_info` FOR EACH ROW 
    BEGIN
            SQL1...;
            SQL2...;
            SQL3...;
    END;

总结

为了节省对数据库的操作,在简单的数据处理或者日志记录上可以使用触发器完成,但是单独的日志系统和业务层关联,所以触发器常常在数据库关联操作时候使用。


   Reprint policy


《触发器实现业务日志等功能》 by jackromer is licensed under a Creative Commons Attribution 4.0 International License
 Previous
spring boot使用junit Test spring boot使用junit Test
概述 本文主要介绍如何在spring boot项目中使用junit测试模块功能 方法一/使用spring-boot自带的junit测试功能 引入maven依赖 <!-- Test start-->
2020-03-19 jackromer
Next 
查询数据库表结构以及聚合拼接SQL查询 查询数据库表结构以及聚合拼接SQL查询
概述 本文主要介绍如何查询表结构和如何多表聚合查询数据。 表结构查询 SELECT COLUMN_NAME 列名, COLUMN_TYPE 数据类型, DATA_TYPE 字段类型,
2019-12-13
  目录