我是靠谱客的博主 舒心墨镜,最近开发中收集的这篇文章主要介绍简述触发器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

    触发器里有两个临时表,一个是Deleted 表,一个是 Inserted表 。

    很好的理解触发器的两个临时表(Deleted , Inserted)在触发事务过程中的作用,是熟练使用触发器的前提!

 

    下面具体的介绍DELETED表和INSERTED表:
                            虚拟表Inserted                    虚拟表Deleted

在表记录 新增时      存放新增的记录                     不存储记录
             修改时      存放用来更新的新记录            存放更新前的记录

             删除时      不存储记录                           存放被删除的记录

 

创建触发器:

CREATE TRIGGER 触发器名

ON 表名

FOR DELETE|UPDATE|INSERT

AS

/*T-SQL*/

 

实例:

--创建测试表

CREATE TABLE A01
(
CODE VARCHAR(10),
NUMBER DECIMAL(18,4)
)
GO


CREATE TABLE A02
(
CODE VARCHAR(10),
NUMBER DECIMAL(18,4)
)

 

--插入测试数据

INSERT INTO A01
SELECT '1001',14
UNION
SELECT '1002',21
UNION
SELECT '1003',15
GO

INSERT INTO A02
SELECT '1001',15
UNION
SELECT '1002',18
UNION
SELECT '1003',20
GO

 

--创建触发器

ALTER TRIGGER NUM
ON A01
FOR UPDATE
AS
IF UPDATE(NUMBER)
BEGIN
UPDATE A02 SET A02.NUMBER=A02.NUMBER-(I.NUMBER-D.NUMBER)
              FROM INSERTED I,DELETED D
              WHERE A02.CODE=I.CODE AND I.CODE=D.CODE
END

/*一个Update 的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除 Student记录并写入新纪录。*/

最后

以上就是舒心墨镜为你收集整理的简述触发器的全部内容,希望文章能够帮你解决简述触发器所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部