SQL触发器

触发器是一种特殊的存储过程,在用户试图对指定的表执行指定的数据修改语句时自动执行。

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表存放被删除的记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值