我是靠谱客的博主 勤恳小土豆,最近开发中收集的这篇文章主要介绍SQL SERVER 2008 创建触发器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

SQLSERVER触发器内INSERT,UPDATE,DELETE三种状态

CREATE   TRIGGER   Tri_Product_OrderSnapshot   ON     [T_Product]   for   INSERT,UPDATE,DELETE         
如IF   exists   (select   *   from   inserted)   and   not   exists   (select   *   from   deleted)   则为   INSERT   
如IF   exists(select   *   from   inserted   )   and   exists   (select   *   from   deleted)   则为   UPDATE   
如IF   exists   (select   *   from   deleted)   and   not   exists   (select   *   from   inserted)则为   DELETE  

插入操作(Insert):Inserted表有数据,Deleted表无数据 
删除操作(Delete):Inserted表无数据,Deleted表有数据 
更新操作(Update):Inserted表有数据(新数据),Deleted表有数据(旧数据)


1.插入触发器实例

表1 (ID,NAME)
表2 (ID,NAME)
当用户插入表1数据后,表2也被插入相同的数据
CREATE TRIGGER TRI1
ON 表1
FOR INSERT
AS
BEGIN 
INSERT INTO 表2 SELECT * FROM INSERTED
END
GO

2.修改触发器

表1 (ID,NAME)
表2 (ID,NAME)
当用户更改表1 NAME列数据后,表2相应ID的数据也同时更新
CREATE TRIGGER TRI3
ON 表1
FOR UPDATE
AS
IF UPDATE(NAME)
BEGIN
    UPDATE 表2
    SET A.NAME =  B.NAME
    FROM 表2 A, INSERTED B
    WHERE A.ID = B.ID
END
GO

3.删除触发器

表1 (ID,NAME)
表2 (ID,AGE,GENDER)
当用户删除表1某条ID的数据后,表2相应ID的数据也被删除 
CREATE TRIGGER TRI2 
ON 表1
FOR DELETE
AS
BEGIN 
DECLARE @id INT
SELECT @id FROM DELETED   
DELETE 表2 
WHERE ID = @id
END
GO


最后

以上就是勤恳小土豆为你收集整理的SQL SERVER 2008 创建触发器的全部内容,希望文章能够帮你解决SQL SERVER 2008 创建触发器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部