触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}
}
table|view 是table或view的名称;
for默认为after 是指在触发器的所有SQL语句都成功执行后才激发。
INSERT|UPDATE|DELETE 是指当插入或更新或删除后激活触发器。可以选定多个选项。
NOT FOR REPLICATION 是指触发器不会在备份的时候执行。
AS后面就是触发器要执行的操作。
IF UPDATE(attribute)是指在指定的attribute进行插入或删除后执行后面的SQL语句。
触发器中有两张临时表,程序员可以使用:
1.INSERTED 表
2.DELETED 表
当插入 INSERTED表存放新增记录,DELETED表不存放
当更新 INSERTED表存放更新的新纪录,DELETED表存放更新前记录
当删除 INSERTED表不存放记录,DELETED表存放被删除的记录
本文详细介绍了数据库触发器的概念及其创建语法,触发器可在特定操作(如INSERT、UPDATE或DELETE)被执行时自动运行,还介绍了如何使用INSERTED和DELETED这两张特殊表来跟踪数据变化。
3013

被折叠的 条评论
为什么被折叠?



