语法
CREATE TRIGGER trigger_name -- 触发器名称必须符合标识符规则,并且在数据库中必须唯一。可以选择是否指定触发器所有者名称。
ON { table | view } -- 可以选择是否指定表或视图的所有者名称。
[ WITH ENCRYPTION ] -- 加密触发器
{
--for=after, 不能在视图上定义 AFTER 触发器。
--INSTEAD OF指定执行触发器而不是执行触发 SQL 语句,从而替代引起触发器sql语句的操作。
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ][ , ] [DELETE] [ , ] [ UPDATE ] }
[ WITH APPEND ] -- 指定应该添加现有类型的其它触发器
[ NOT FOR REPLICATION ] --当复制进程更改触发器所涉及的表时,不应执行该触发器。
AS -- 触发器要执行的操作
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ n ]
-- bitwise_operator 是用于比较运算的位运算符
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ n ]
} ]
sql_statement [ n ]
}
}
注:{}表示必须选择内部一值,[ ]表示可选字段
INSTEAD OF
:在表或视图上,每个 INSERT、UPDATE 或 DELETE 语句最多可以定义一个 I