触发器语法
创建触发器的语法如下所示:
CREATE TRIGGER <trigger name>
ON [<schema name>.]<table or view name>
[WITH ENCRYPTION | EXECUTE AS <CALLER | SELF | <user> >]
{ FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[WITH APPEND]
[NOT FOR REPLICATION]
AS
< <sql statements> | EXTERNAL NAME <assembly method specifier> >
ON:表示基于什么对象创建触发器。如果是AFTER触发器,则ON子句的对象必须是一个表,不能是视图。
WITH ENCRYPTION: 加密触发器代码
FOR|AFTER: 决定由什么类型的动作激发触发器,包括Delete、Insert、Update动作。FOR和AFTER表明了DML 触发器仅在触发 SQL 语句中指定的所有操作都已成功执行时才被激发。所有的引用级联操作和约束检查也必须在激发此触发器之前成功完成。
INSTEAD OF:这个功能可以用来对视图进行Delete、Insert、Update,动作的激发是在修改数据之前。