学习笔记-mysql_触发器

创建触发器:

create [or replace] trigger trigger_name

before|after

event1 [ or event2 or event3 …]

on table_name [for each row]

begin

statement;

end;

event通常是insert、delete或update等DML操作

说明:

For each row的意义是:在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次;

触发器分为语句级触发器和行级触发器

语句级触发器是指每执行一条DML语句,该触发器就执行一次

行级触发器是指每个DML操作影响几条记录,就会触发几次(for each row)

行级触发器中由于涉及到了每条记录的数据变动,所以对于每条记录的数据来说就有新值和旧值之分

关键字:

:NEW 和:OLD使用方法和意义,

new 只出现在insert和update时,old只出现在update和delete时。在insert时new表示新插入的行数据,update时new表示要替换的新数据、

old表示要被更改的原来的数据行,delete时old表示要被删除的数据。

查看触发器:

show triggers;

在trggers表中查看触发器信息

select * from infomation_schema triggers where 条件;

删除触发器:

drop trigger [schema_name.]trigger_name;

时间: 2025-01-25 06:54:18

学习笔记-mysql_触发器的相关文章

Oracle 学习笔记 19 -- 触发器和包浅析(PL/SQL)

触发器是存放在数据库中的一种特殊类型的子程序.不能被用户直接调用,而是当特定事件或操作发生时由系统自己主动 调用执行.触发器不能接受參数.所以执行触发器就叫做触发或点火.Oracle事件指的是数据库的表进行的insert .update.delete操作或对视图进行类似的操作. 触发器是很多关系数据库系统都提供的一项技术.在Oracle系统里,触发器类似过程和函数,都有声明,运行和异常 处理过程的PL/SQL块. 触发器的组成: 触发事件:在何种情况下触发:比如:INSERT , UPDATE

Oracle之PL/SQL学习笔记之触发器

Oracle之PL/SQL学习笔记之触发器 触发器是许多关系数据库系统都提供的一项技术.在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块. 触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行. 即触发器是当某个事件发生时自动地隐式运行.并且,触发器不能接收参数.所以运行触发器就叫触发或点火(firing).ORACLE事件指的是对数据库的表进行的INSERT. UPDATE及D

Oracle学习笔记十三 触发器

简介 触发器是当特定事件出现时自动执行的存储过程,特定事件可以是执行更新的DML语句和DDL语句,触发器不能被显式调用. 触发器的功能: 1.自动生成数据 2.自定义复杂的安全权限 3.提供审计和日志记录 4.启用复杂的业务逻辑 创建触发器的语法 CREATE [OR REPLACE] TRIGGER trigger_name AFTER | BEFORE | INSTEAD OF [INSERT] [[OR] UPDATE [OF column_list]] [[OR] DELETE] ON

学习笔记-mysql_备份与还原

1.数据备份 1.mysqldump命令备份 mysqldump -u user -h host -ppassword dbname[tbname [tbname...]] > filename.sql 值得注意的是 tbname为dbnames需要备份的数据表 1.单个库备份 mysqldump -u user -h host -ppassword dbname > filename.sql 2.单库指定表 mysqldump -u user -h host -ppassword dbnam

oracle 学习笔记之触发器

说明 数据库触发器是一个与表相关联的.存储的PL/SQL程序.每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时,Oracle自动地执行触发器中定义的语句序列. 触发器的类型 语句级触发器:在指定的操作语句操作之前或之后执行一次,不管这条语句影响了多少行 . 行级触发器(FOR EACH ROW):触发语句作用的每一条记录都被触发.在行级触发器中使用old和new伪记录变量, 识别值的状态. 触发器可用于:1)数据确认  2)实施复杂的安全性检查.3)做审计

学习笔记-mysql_视图

视图: create [or replace] [algorithm ={undefined|merge|temptable}] view view_name [(column_list)] as select_statement [with [cascaded|local] check option] replace 替换已经创建的视图 algorithm 视图选择的算法 undefind mysql将自动选择算法 merge将使用的视图语句与视图定义合并起来,使得视图定义的某一部分取代语句对

oracle 触发器 学习笔记

触发器 是特定事件出现的时候,自动执行的代码块.类似于存储过程,但是用户不能直接调用他们. 功能: 1. 允许/限制对表的修改 2. 自动生成派生列,比如自增字段 3. 强制数据一致性 4. 提供审计和日志记录 5. 防止无效的事务处理 6. 启用复杂的业务逻辑 开始 create trigger biufer_employees_department_id before insert or update of department_id on employees referencing old

[原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Caliburn.Micro学习笔记(二)----Actions

Caliburn.Micro学习笔记(二)----Actions 上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions,看一下Caliburn.Micro给我们提供了多强大的支持 我们还是从做例子开始 demo的源码下载在文章的最后 例子1.无参数方法调用 点击button把textBox输入的文本弹出来 如果textbox里没有文本button不可点,看一下效果图 看一下前台代码 <Stac