2020-05-25

触发器

触发器


触发器概述

触发器是一种特殊的存储过程,与普通存储过程的区别:

触发器的执行是与实践触发的,而普通存储过程是有命令调用执行的

使用触发器有助于强制保持出具的数据完整性。可以防止恶意的插入、删除、修改

创建触发器

CREATE TRIGGER 触发器名ON { 表名 | 视图名 }[ WITH ENCRYPTION ]{ {INSTEAD OF | AFTER | FOR |} --instead of 前置触发器 for/after后置触发器 { [ DELETE] [,] [ INSERT ] [,] [ UPDATE ] } AS [ IF UPDATE ( 列 ) [ { AND | OR } UPDATE ( 列 ) ] [ ...n ] ] SQL语句[ ...n ] create trigger t1 on sc instead of delete asprint '无权删除'create trigger t2on sc after insertasselect * from sc

 

insterted和deleted表

只存在触发器执行过程中

在插入数据时可以从iinserted表中读取新插入的值

在删除数据时可以从deleted表中读取已经删除的数据

在更新数据时,可以从deleted表中读取已经原有的值,从inserted表中读取修改后的值


No comments:

Post a Comment