首页 > 代码库 > 创建SQL触发器
创建SQL触发器
我们可以对某个数据表添加SQL触发器,当该表进行添加、更新、删除时执行某项操作。
不过SQL触发器如果能不用尽量不用,若在项目后期改动程序波及范围太大,使用SQL触发器可以避免,所以才使用。
数据表dbo.User(UserName, Password)
CREATE TRIGGER Trigger_User ON dbo.User FOR UPDATE, DELETEASIF UPDATE(UserName) BEGIN DECLARE @userNameBeforeUpdate NVARCHAR(255) DECLARE @userNameAfterUpdate NVARCHAR(255) SELECT @userNameBeforeUpdate = UserName FROM DELETED SELECT @userNameAfterUpdate = UserName FROM INSERTED ENDELSE IF NOT EXISTS(SELECT * FROM INSERTED) BEGIN DECLARE @userName NVARCHAR(255) SELECT @userName = UserName FROM DELETED END
在数据表dbo.User上创建触发器Trigger_User,当更新与删除时触发(FOR UPDATE, DELETE)。
当更新时如果是更改UserName字段IF UPDATE(UserName),则执行...
如果是删除操作,也就是INSERTED不存在(NOT EXISTS(SELECT * FROM INSERTED)),则执行...
更新操作
DELETED 更新前
INSERTED 更新后
删除操作
DELETED 将被删除记录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。