博客
关于我
触发器——创建||更新||删除||查看
阅读量:524 次
发布时间:2019-03-07

本文共 1359 字,大约阅读时间需要 4 分钟。

触发器的使用与创建指南

触发器是一种在数据库操作执行后自动触发的操作,常用于记录数据变更日志。以下将介绍如何创建触发器,并展示其在不同操作中的应用场景。

一、触发器的作用

触发器能够在数据库表的数据插入、更新或删除操作发生后,自动记录相关操作信息。这种机制特别有助于数据审计和追踪,能够提供详细的操作日志。

二、创建触发器的步骤

创建触发器需要根据数据库类型(如MySQL、Oracle等)进行设置。以下以MySQL为例,展示插入、更新和删除操作的触发器创建方法。

1. 插入操作的触发器

create trigger emp_insert_triggerafter insert on empfor each rowbegin    insert into emp_logs(id, operation, operate_time, operate_id, operate_params)    values(null, 'insert', now(), new.id, concat('插入后(id:', new.id, ', name:', new.name, ', age:', new.age, ', salary: ', new.salary, ')));end;

2. 更新操作的触发器

create trigger emp_update_triggerafter update on empfor each rowbegin    insert into emp_logs(id, operation, operate_time, operate_id, operate_params)    values(null, 'update', now(), new.id, concat('修改前(id:', old.id, ', name:', old.name, ', age:', old.age, ', salary: ', old.salary, '), 修改后(', new.id, ', name:', new.name, ', age:', new.age, ', salary: ', new.salary, ')));end;

3. 删除操作的触发器

create trigger emp_delete_triggerafter delete on empfor each rowbegin    insert into emp_logs(id, operation, operate_time, operate_id, operate_params)    values(null, 'delete', now(), old.id, concat('删除前(id:', old.id, ', name:', old.name, ', age:', old.age, ', salary: ', old.salary, ')'));end;

三、触发器的使用

在创建触发器后,可以通过数据库管理工具或SQL命令查看触发器的定义和执行情况。例如,使用SHOW TRIGGER命令查看所有触发器的详细信息。

通过以上方法,可以轻松创建并管理数据库表的触发器,实现对数据操作的全面追踪和记录。

转载地址:http://pvznz.baihongyu.com/

你可能感兴趣的文章
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>