触发器是一种特殊的存储过程,与普通存储过程的区别:spa
触发器的执行是与实践触发的,而普通存储过程是有命令调用执行的code
使用触发器有助于强制保持出具的数据完整性。能够防止恶意的插入、删除、修改blog
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
as
print '无权删除'
create trigger t2 on sc after insert
as
select * from sc
只存在触发器执行过程当中class
在插入数据时能够从iinserted表中读取新插入的值select
在删除数据时能够从deleted表中读取已经删除的数据数据
在更新数据时,能够从deleted表中读取已经原有的值,从inserted表中读取修改后的值margin