触发器
触发器概述
触发器是一种特殊的存储过程,与普通存储过程的区别:
触发器的执行是与实践触发的,而普通存储过程是有命令调用执行的
使用触发器有助于强制保持出具的数据完整性。可以防止恶意的插入、删除、修改
创建触发器
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