数据库之触发器详解

您所在的位置:网站首页 触发应用功能是什么 数据库之触发器详解

数据库之触发器详解

2024-06-17 00:56:09| 来源: 网络整理| 查看: 265

一、触发器的概念

  触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。

  举个例子,比如你现在有两个表【用户表】和【日志表】,当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器的情况下,你需要编写程序语言逻辑才能实现,但是如果你定义了一个触发器,触发器的作用就是当你在用户表中插入一条数据的之后帮你在日志表中插入一条日志信息。当然触发器并不是只能进行插入操作,还能执行修改,删除。 在这里插入图片描述 【NEW和OLD的使用】: 在这里插入图片描述

二、触发器的SQL相关操作

/**** 1、创建和使用触发器 ****/ // 创建触发器(AFTER INSERT表示触发器的动作:插入一条数据后要干的事,NEW和OLD分别表示将要新增或者修改删除的数据) CREATE TRIGGER trig_book AFTER INSERT ON t_book FOR EACH ROW UPDATE t_bookType SET bookNum=bookNum+1 WHERE NEW.bookTypeId=t_bookType.id; // 创建具有多个执行语句的触发器 DELIMITER || # DELIMITER || #将语句的分隔符改为|| CREATE TRIGGER trig_book AFTER DELETE ON t_book FOR EACH ROW BEGIN UPDATE t_bookType SET bookNum=bookNum-1 WHERE OLD.bookTypeId=t_bookType.id; INSERT INTO t_log VALUES(1,NOW(),"在book表中删除了一条数据"); END || DELIMITER ; # 将语句的分隔符改回原来的分号";" /**** 2、查看和删除触发器 ****/ SHOW TRIGGERS; DROP TRIGGER trig_book;

三、触发器总结

1、触发器的限制

触发程序不能调用将数据返回客户端的存储程序,也不能使用采用CALL语句的动态SQL语句,但是允许存储程序通过参数将数据返回触发程序,也就是存储过程或者函数通过OUT或者INOUT类型的参数将数据返回触发器是可以的,但是不能调用直接返回数据的过程。

不能在触发器中使用以显示或隐式方式开始或结束事务的语句,如START TRANS-ACTION,COMMIT或ROLLBACK。

2、触发器的作用

(1)安全性—可以基于数据库的值使用户具有操作数据库的某种权利

可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据。

可以基于数据库中的数据限制用户的操作,例如不允许股票的价格的升幅一次超过10%。

(2)审计—可以跟踪用户对数据库的操作

审计用户操作数据库的语句。

把用户对数据库的更新写入审计表。

(3)实现复杂的数据完整性规则

实现非标准的数据完整性检查和约束。触发器可产生比规则更为复杂的限制。与规则不同,触发器可以引用列或数据库对象。例如,触发器可回退任何企图吃进超过自己保证金的期货。

提供可变的缺省值。

(4)自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理

3、触发器总结

  触发器是基于行触发的,所以删除、新增或者修改操作可能都会激活触发器,所以不要编写过于复杂的触发器,也不要增加过多的触发器,这样会对数据的插入、修改或者删除带来比较严重的影响,同时也会带来可移植性差的后果,所以在设计触发器的时候一定要有所考虑。

  触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。

参考:https://www.cnblogs.com/phpper/p/7587031.html



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭